This could be made optional if preferred --- libavcodec/mpegaudiodec_template.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/libavcodec/mpegaudiodec_template.c b/libavcodec/mpegaudiodec_template.c index 2326a90..70c17a1 100644 --- a/libavcodec/mpegaudiodec_template.c +++ b/libavcodec/mpegaudiodec_template.c @@ -87,6 +87,7 @@ typedef struct MPADecodeContext { MPADSPContext mpadsp; AVFloatDSPContext *fdsp; AVFrame *frame; + int flushed; } MPADecodeContext; #define HEADER_SIZE 4 @@ -1645,6 +1646,11 @@ static int mp_decode_frame(MPADecodeContext *s, OUT_INT **samples, } } + if (s->flushed) { + s->avctx->internal->skip_samples = FFMAX(s->avctx->internal->skip_samples, s->frame->nb_samples); + s->flushed = 0; + } + return nb_frames * 32 * sizeof(OUT_INT) * s->nb_channels; } @@ -1723,6 +1729,7 @@ static void mp_flush(MPADecodeContext *ctx) memset(ctx->mdct_buf, 0, sizeof(ctx->mdct_buf)); ctx->last_buf_size = 0; ctx->dither_state = 0; + ctx->flushed = 1; } static void flush(AVCodecContext *avctx) -- 1.7.9.5 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel