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