From 19562b68cbb890d99bb7750e7a3320d0e5b9cc4f Mon Sep 17 00:00:00 2001
From: Mohamed Naufal <naufal22@gmail.com>
Date: Mon, 10 Oct 2011 02:48:16 +0200
Subject: [PATCH] g723.1 muxer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
---
 libavformat/Makefile     |  1 +
 libavformat/allformats.c |  2 +-
 libavformat/g723_1.c     | 21 +++++++++++++++++++++
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/libavformat/Makefile b/libavformat/Makefile
index 0251944bd8d..fa6f89b0823 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -99,6 +99,7 @@ OBJS-$(CONFIG_GXF_MUXER)                 += gxfenc.o audiointerleave.o
 OBJS-$(CONFIG_G722_DEMUXER)              += rawdec.o
 OBJS-$(CONFIG_G722_MUXER)                += rawenc.o
 OBJS-$(CONFIG_G723_1_DEMUXER)            += g723_1.o
+OBJS-$(CONFIG_G723_1_MUXER)              += g723_1.o
 OBJS-$(CONFIG_H261_DEMUXER)              += h261dec.o rawdec.o
 OBJS-$(CONFIG_H261_MUXER)                += rawenc.o
 OBJS-$(CONFIG_H263_DEMUXER)              += h263dec.o rawdec.o
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index ca4a3d1b4bb..7a07b44b7f7 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -100,7 +100,7 @@ void av_register_all(void)
     REGISTER_MUXER    (FRAMECRC, framecrc);
     REGISTER_MUXER    (FRAMEMD5, framemd5);
     REGISTER_MUXDEMUX (G722, g722);
-    REGISTER_DEMUXER  (G723_1, g723_1);
+    REGISTER_MUXDEMUX (G723_1, g723_1);
     REGISTER_MUXER    (GIF, gif);
     REGISTER_DEMUXER  (GSM, gsm);
     REGISTER_MUXDEMUX (GXF, gxf);
diff --git a/libavformat/g723_1.c b/libavformat/g723_1.c
index 19441a1b19d..f6c394b18ad 100644
--- a/libavformat/g723_1.c
+++ b/libavformat/g723_1.c
@@ -81,3 +81,24 @@ AVInputFormat ff_g723_1_demuxer = {
     .extensions = "tco,rco",
     .flags = AVFMT_GENERIC_INDEX
 };
+
+#if CONFIG_G723_1_MUXER
+static int g723_1_write_packet(AVFormatContext *s, AVPacket *pkt)
+{
+    put_buffer(s->pb, pkt->data, pkt->size);
+    put_flush_packet(s->pb);
+    return 0;
+}
+
+AVOutputFormat ff_g723_1_muxer = {
+    "g723_1",
+    NULL_IF_CONFIG_SMALL("G.723.1 format"),
+    "audio/g723",
+    "tco",
+    0,
+    CODEC_ID_G723_1,
+    CODEC_ID_NONE,
+    NULL,
+    g723_1_write_packet,
+};
+#endif
-- 
GitLab