Mercurial > libavcodec.hg
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; |