From 1b35af3225392a5328f6534c53e96a56cd5eb305 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Martin=20Storsj=C3=B6?= Date: Wed, 14 Dec 2011 22:32:29 +0200 Subject: [PATCH] libgsm: Reset the MS mode of GSM in the flush function MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The mode is set in libgsm_decode_init, but the decoder object is simply destroyed and recreated in the flush function - therefore the mode has to be set again. This fixes playback using the libgsm_ms decoder in avplay. Signed-off-by: Martin Storsjö --- libavcodec/libgsm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c index 7623d35..16d9972 100644 --- a/libavcodec/libgsm.c +++ b/libavcodec/libgsm.c @@ -212,9 +212,12 @@ static int libgsm_decode_frame(AVCodecContext *avctx, void *data, static void libgsm_flush(AVCodecContext *avctx) { LibGSMDecodeContext *s = avctx->priv_data; + int one = 1; gsm_destroy(s->state); s->state = gsm_create(); + if (avctx->codec_id == CODEC_ID_GSM_MS) + gsm_option(s->state, GSM_OPT_WAV49, &one); } AVCodec ff_libgsm_decoder = { -- 2.7.4