Browse Source

libgsm: Reset the MS mode of GSM in the flush function

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ö <martin@martin.st>
tags/n0.10
Martin Storsjö 13 years ago
parent
commit
1b35af3225
1 changed files with 3 additions and 0 deletions
  1. +3
    -0
      libavcodec/libgsm.c

+ 3
- 0
libavcodec/libgsm.c View File

@@ -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 = {


Loading…
Cancel
Save