comparison mpegaudiodec.c @ 7867:2a611af7bcbe libavcodec

Make decoder more robust by default against broken encoders. Fixes issue540.
author michael
date Tue, 16 Sep 2008 00:31:32 +0000
parents 8195c970d077
children 08ef30f08a01
comparison
equal deleted inserted replaced
7866:4f0e33b1a228 7867:2a611af7bcbe
1597 s_index+=4; 1597 s_index+=4;
1598 } 1598 }
1599 /* skip extension bits */ 1599 /* skip extension bits */
1600 bits_left = end_pos2 - get_bits_count(&s->gb); 1600 bits_left = end_pos2 - get_bits_count(&s->gb);
1601 //av_log(NULL, AV_LOG_ERROR, "left:%d buf:%p\n", bits_left, s->in_gb.buffer); 1601 //av_log(NULL, AV_LOG_ERROR, "left:%d buf:%p\n", bits_left, s->in_gb.buffer);
1602 if (bits_left < 0/* || bits_left > 500*/) { 1602 if (bits_left < 0 && s->error_recognition >= FF_ER_COMPLIANT) {
1603 av_log(s->avctx, AV_LOG_ERROR, "bits_left=%d\n", bits_left); 1603 av_log(s->avctx, AV_LOG_ERROR, "bits_left=%d\n", bits_left);
1604 s_index=0; 1604 s_index=0;
1605 }else if(bits_left > 0 && s->error_recognition >= FF_ER_AGGRESSIVE){ 1605 }else if(bits_left > 0 && s->error_recognition >= FF_ER_AGGRESSIVE){
1606 av_log(s->avctx, AV_LOG_ERROR, "bits_left=%d\n", bits_left); 1606 av_log(s->avctx, AV_LOG_ERROR, "bits_left=%d\n", bits_left);
1607 s_index=0; 1607 s_index=0;