* fixed decoding busy loop
authorZdenek Kabelac <kabi@informatics.muni.cz>
Wed, 31 Oct 2001 19:40:53 +0000 (19:40 +0000)
committerZdenek Kabelac <kabi@informatics.muni.cz>
Wed, 31 Oct 2001 19:40:53 +0000 (19:40 +0000)
Originally committed as revision 203 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpegaudiodec.c

index 8af8047..bbb3ff1 100644 (file)
@@ -2270,7 +2270,7 @@ static int decode_frame(AVCodecContext * avctx,
            len = HEADER_SIZE - len;
            if (len > buf_size)
                len = buf_size;
-           else if (len > 0) {
+           if (len > 0) {
                memcpy(s->inbuf_ptr, buf_ptr, len);
                buf_ptr += len;
                buf_size -= len;
@@ -2280,6 +2280,7 @@ static int decode_frame(AVCodecContext * avctx,
             got_header:
                header = (s->inbuf[0] << 24) | (s->inbuf[1] << 16) |
                    (s->inbuf[2] << 8) | s->inbuf[3];
+
                if (check_header(header) < 0) {
                    /* no sync found : move by one byte (inefficient, but simple!) */
                    memcpy(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1);