mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
mp3on4: create a separate flush function for MP3onMP4.
The correct decoder private context needs to be used. This fixes mp3on4 playback and seeking in avplay.
This commit is contained in:
parent
53c8443ad2
commit
180bf988bc
@ -2004,6 +2004,19 @@ alloc_fail:
|
||||
}
|
||||
|
||||
|
||||
static void flush_mp3on4(AVCodecContext *avctx)
|
||||
{
|
||||
int i;
|
||||
MP3On4DecodeContext *s = avctx->priv_data;
|
||||
|
||||
for (i = 0; i < s->frames; i++) {
|
||||
MPADecodeContext *m = s->mp3decctx[i];
|
||||
memset(m->synth_buf, 0, sizeof(m->synth_buf));
|
||||
m->last_buf_size = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static int decode_frame_mp3on4(AVCodecContext * avctx,
|
||||
void *data, int *data_size,
|
||||
AVPacket *avpkt)
|
||||
@ -2148,7 +2161,7 @@ AVCodec ff_mp3on4_decoder = {
|
||||
.init = decode_init_mp3on4,
|
||||
.close = decode_close_mp3on4,
|
||||
.decode = decode_frame_mp3on4,
|
||||
.flush = flush,
|
||||
.flush = flush_mp3on4,
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),
|
||||
};
|
||||
#endif
|
||||
|
@ -83,7 +83,7 @@ AVCodec ff_mp3on4float_decoder = {
|
||||
.init = decode_init_mp3on4,
|
||||
.close = decode_close_mp3on4,
|
||||
.decode = decode_frame_mp3on4,
|
||||
.flush = flush,
|
||||
.flush = flush_mp3on4,
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),
|
||||
};
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user