* resync without endless loop
authorZdenek Kabelac <kabi@informatics.muni.cz>
Fri, 9 Aug 2002 10:43:02 +0000 (10:43 +0000)
committerZdenek Kabelac <kabi@informatics.muni.cz>
Fri, 9 Aug 2002 10:43:02 +0000 (10:43 +0000)
Originally committed as revision 849 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpegaudiodec.c

index 1dabdac..93bd147 100644 (file)
@@ -2397,8 +2397,10 @@ static int decode_frame(AVCodecContext * avctx,
            if (len > buf_size)
                len = buf_size;
             if (len == 0) {
-                /* frame too long: resync */
+               /* frame too long: resync */
                 s->frame_size = 0;
+               memcpy(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1);
+               s->inbuf_ptr--;
             } else {
                 UINT8 *p, *pend;
                 UINT32 header1;