diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index d08177e9ebc22818837f3e62713cc21cbac6eb8c..169254f5d7aa08b379c964c8f636993f5bf1ea19 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -1572,6 +1572,9 @@ static int mp_decode_frame(MPADecodeContext *s, OUT_INT *samples, default: nb_frames = mp_decode_layer3(s); + if (nb_frames < 0) + return nb_frames; + s->last_buf_size=0; if (s->in_gb.buffer) { align_get_bits(&s->gb);