Mercurial > libavcodec.hg
comparison mpegaudiodec.c @ 6705:d5515254fbbd libavcodec
break if error in header so it can output already decoded frames
author | bcoudurier |
---|---|
date | Sat, 26 Apr 2008 14:41:29 +0000 |
parents | 2f439a593e56 |
children | 5b3acf9fd50a |
comparison
equal
deleted
inserted
replaced
6704:2f439a593e56 | 6705:d5515254fbbd |
---|---|
2589 m = s->mp3decctx[fr]; | 2589 m = s->mp3decctx[fr]; |
2590 assert (m != NULL); | 2590 assert (m != NULL); |
2591 | 2591 |
2592 header = (AV_RB32(buf) & 0x000fffff) | s->syncword; // patch header | 2592 header = (AV_RB32(buf) & 0x000fffff) | s->syncword; // patch header |
2593 | 2593 |
2594 if (ff_mpa_check_header(header) < 0) { // Bad header, discard block | 2594 if (ff_mpa_check_header(header) < 0) // Bad header, discard block |
2595 *data_size = 0; | 2595 break; |
2596 return buf_size; | |
2597 } | |
2598 | 2596 |
2599 ff_mpegaudio_decode_header(m, header); | 2597 ff_mpegaudio_decode_header(m, header); |
2600 out_size += mp_decode_frame(m, outptr, buf, fsize); | 2598 out_size += mp_decode_frame(m, outptr, buf, fsize); |
2601 buf += fsize; | 2599 buf += fsize; |
2602 len -= fsize; | 2600 len -= fsize; |