Commit 4448f8c6 authored by michael's avatar michael

Favor chunk size over hitting the correct position after reading the chunk size in asf.

Fixes issue1923


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@23040 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 53c54c74
......@@ -204,9 +204,10 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
get_byte(pb);
memset(&asf->asfid2avid, -1, sizeof(asf->asfid2avid));
for(;;) {
uint64_t gpos= url_ftell(pb);
get_guid(pb, &g);
gsize = get_le64(pb);
dprintf(s, "%08"PRIx64": ", url_ftell(pb) - 24);
dprintf(s, "%08"PRIx64": ", gpos);
print_guid(&g);
dprintf(s, " size=0x%"PRIx64"\n", gsize);
if (!guidcmp(&g, &ff_asf_data_header)) {
......@@ -584,8 +585,10 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
av_log(s, AV_LOG_WARNING, "Digital signature detected, decoding will likely fail!\n");
}
}
url_fseek(pb, gsize - 24, SEEK_CUR);
}
if(url_ftell(pb) != gpos + gsize)
av_log(s, AV_LOG_DEBUG, "gpos mismatch our pos=%"PRIu64", end=%"PRIu64"\n", url_ftell(pb)-gpos, gsize);
url_fseek(pb, gpos + gsize, SEEK_SET);
}
get_guid(pb, &g);
get_le64(pb);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment