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 (;;) {
|
for (;;) {
|
||||||
uint64_t gpos = avio_tell(pb);
|
uint64_t gpos = avio_tell(pb);
|
||||||
|
int ret = 0;
|
||||||
ff_get_guid(pb, &g);
|
ff_get_guid(pb, &g);
|
||||||
gsize = avio_rl64(pb);
|
gsize = avio_rl64(pb);
|
||||||
print_guid(&g);
|
print_guid(&g);
|
||||||
@ -795,13 +796,9 @@ static int asf_read_header(AVFormatContext *s)
|
|||||||
if (gsize < 24)
|
if (gsize < 24)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
if (!ff_guidcmp(&g, &ff_asf_file_header)) {
|
if (!ff_guidcmp(&g, &ff_asf_file_header)) {
|
||||||
int ret = asf_read_file_properties(s, gsize);
|
ret = asf_read_file_properties(s, gsize);
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
} else if (!ff_guidcmp(&g, &ff_asf_stream_header)) {
|
} else if (!ff_guidcmp(&g, &ff_asf_stream_header)) {
|
||||||
int ret = asf_read_stream_properties(s, gsize);
|
ret = asf_read_stream_properties(s, gsize);
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
} else if (!ff_guidcmp(&g, &ff_asf_comment_header)) {
|
} else if (!ff_guidcmp(&g, &ff_asf_comment_header)) {
|
||||||
asf_read_content_desc(s, gsize);
|
asf_read_content_desc(s, gsize);
|
||||||
} else if (!ff_guidcmp(&g, &ff_asf_language_guid)) {
|
} else if (!ff_guidcmp(&g, &ff_asf_language_guid)) {
|
||||||
@ -830,7 +827,6 @@ static int asf_read_header(AVFormatContext *s)
|
|||||||
if (!s->keylen) {
|
if (!s->keylen) {
|
||||||
if (!ff_guidcmp(&g, &ff_asf_content_encryption)) {
|
if (!ff_guidcmp(&g, &ff_asf_content_encryption)) {
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
int ret;
|
|
||||||
AVPacket pkt;
|
AVPacket pkt;
|
||||||
av_log(s, AV_LOG_WARNING,
|
av_log(s, AV_LOG_WARNING,
|
||||||
"DRM protected stream detected, decoding will likely fail!\n");
|
"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)
|
if (avio_tell(pb) != gpos + gsize)
|
||||||
av_log(s, AV_LOG_DEBUG,
|
av_log(s, AV_LOG_DEBUG,
|
||||||
"gpos mismatch our pos=%"PRIu64", end=%"PRId64"\n",
|
"gpos mismatch our pos=%"PRIu64", end=%"PRId64"\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user