mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-28 20:53:54 +02:00
avformat/asfdec_f: factor error checking out of main header parsing loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
a1c03b9d58
commit
c8eca438a9
@ -779,6 +779,7 @@ static int asf_read_header(AVFormatContext *s)
|
||||
|
||||
for (;;) {
|
||||
uint64_t gpos = avio_tell(pb);
|
||||
int ret = 0;
|
||||
ff_get_guid(pb, &g);
|
||||
gsize = avio_rl64(pb);
|
||||
print_guid(&g);
|
||||
@ -795,13 +796,9 @@ static int asf_read_header(AVFormatContext *s)
|
||||
if (gsize < 24)
|
||||
return AVERROR_INVALIDDATA;
|
||||
if (!ff_guidcmp(&g, &ff_asf_file_header)) {
|
||||
int ret = asf_read_file_properties(s, gsize);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
ret = asf_read_file_properties(s, gsize);
|
||||
} else if (!ff_guidcmp(&g, &ff_asf_stream_header)) {
|
||||
int ret = asf_read_stream_properties(s, gsize);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
ret = asf_read_stream_properties(s, gsize);
|
||||
} else if (!ff_guidcmp(&g, &ff_asf_comment_header)) {
|
||||
asf_read_content_desc(s, gsize);
|
||||
} else if (!ff_guidcmp(&g, &ff_asf_language_guid)) {
|
||||
@ -830,7 +827,6 @@ static int asf_read_header(AVFormatContext *s)
|
||||
if (!s->keylen) {
|
||||
if (!ff_guidcmp(&g, &ff_asf_content_encryption)) {
|
||||
unsigned int len;
|
||||
int ret;
|
||||
AVPacket pkt;
|
||||
av_log(s, AV_LOG_WARNING,
|
||||
"DRM protected stream detected, decoding will likely fail!\n");
|
||||
@ -856,6 +852,9 @@ static int asf_read_header(AVFormatContext *s)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (avio_tell(pb) != gpos + gsize)
|
||||
av_log(s, AV_LOG_DEBUG,
|
||||
"gpos mismatch our pos=%"PRIu64", end=%"PRId64"\n",
|
||||
|
Loading…
Reference in New Issue
Block a user