[FFmpeg-cvslog] libgsmdec: always set channel layout and sample rate at initialization

Justin Ruggles git at videolan.org
Fri Nov 2 14:32:40 CET 2012


ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Mon Oct 22 15:43:59 2012 -0400| [c5b8acad731c06389b98df8248b6a536e1b7e58d] | committer: Justin Ruggles

libgsmdec: always set channel layout and sample rate at initialization

Only mono 8kHz is supported.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c5b8acad731c06389b98df8248b6a536e1b7e58d
---

 libavcodec/libgsm.c |   18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c
index e6d435b..afed710 100644
--- a/libavcodec/libgsm.c
+++ b/libavcodec/libgsm.c
@@ -29,6 +29,7 @@
 
 #include <gsm/gsm.h>
 
+#include "libavutil/audioconvert.h"
 #include "avcodec.h"
 #include "internal.h"
 #include "gsm.h"
@@ -149,19 +150,10 @@ typedef struct LibGSMDecodeContext {
 static av_cold int libgsm_decode_init(AVCodecContext *avctx) {
     LibGSMDecodeContext *s = avctx->priv_data;
 
-    if (avctx->channels > 1) {
-        av_log(avctx, AV_LOG_ERROR, "Mono required for GSM, got %d channels\n",
-               avctx->channels);
-        return -1;
-    }
-
-    if (!avctx->channels)
-        avctx->channels = 1;
-
-    if (!avctx->sample_rate)
-        avctx->sample_rate = 8000;
-
-    avctx->sample_fmt = AV_SAMPLE_FMT_S16;
+    avctx->channels       = 1;
+    avctx->channel_layout = AV_CH_LAYOUT_MONO;
+    avctx->sample_rate    = 8000;
+    avctx->sample_fmt     = AV_SAMPLE_FMT_S16;
 
     s->state = gsm_create();
 



More information about the ffmpeg-cvslog mailing list