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;