1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Support wb00+dc00 chunk mix.

fixes issue402

Originally committed as revision 12609 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2008-03-27 20:58:01 +00:00
parent 0d14ab27a8
commit 41757171e7

View File

@ -778,10 +778,29 @@ resync:
//parse ##dc/##wb
if(n < s->nb_streams){
AVStream *st;
AVStream *st1 = s->streams[1];
AVIStream *ast1= st1->priv_data;
AVIStream *ast;
st = s->streams[n];
ast = st->priv_data;
//workaround for broken small-file-bug402.avi
if( d[2] == 'w' && d[3] == 'b'
&& n==0
&& s->nb_streams>=2
&& st ->codec->codec_type == CODEC_TYPE_VIDEO
&& st1->codec->codec_type == CODEC_TYPE_AUDIO
&& ast->prefix == 'd'*256+'c'
&& (d[2]*256+d[3] == ast1->prefix || !ast1->prefix_count)
){
n=1;
st = st1;
ast = ast1;
av_log(s, AV_LOG_WARNING, "Invalid stream+prefix combination, assuming audio\n");
}
if( (st->discard >= AVDISCARD_DEFAULT && size==0)
/*|| (st->discard >= AVDISCARD_NONKEY && !(pkt->flags & PKT_FLAG_KEY))*/ //FIXME needs a little reordering
|| st->discard >= AVDISCARD_ALL){