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>
This commit is contained in:
parent
8637af8d24
commit
1b35af3225
@ -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…
x
Reference in New Issue
Block a user