|
|
|
@ -270,7 +270,7 @@ finish: |
|
|
|
|
avio_seek(s->pb, off + len, SEEK_SET); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int asf_read_file_properties(AVFormatContext *s, int64_t size) |
|
|
|
|
static int asf_read_file_properties(AVFormatContext *s) |
|
|
|
|
{ |
|
|
|
|
ASFContext *asf = s->priv_data; |
|
|
|
|
AVIOContext *pb = s->pb; |
|
|
|
@ -465,7 +465,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int asf_read_ext_stream_properties(AVFormatContext *s, int64_t size) |
|
|
|
|
static int asf_read_ext_stream_properties(AVFormatContext *s) |
|
|
|
|
{ |
|
|
|
|
ASFContext *asf = s->priv_data; |
|
|
|
|
AVIOContext *pb = s->pb; |
|
|
|
@ -525,7 +525,7 @@ static int asf_read_ext_stream_properties(AVFormatContext *s, int64_t size) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int asf_read_content_desc(AVFormatContext *s, int64_t size) |
|
|
|
|
static int asf_read_content_desc(AVFormatContext *s) |
|
|
|
|
{ |
|
|
|
|
AVIOContext *pb = s->pb; |
|
|
|
|
int len1, len2, len3, len4, len5; |
|
|
|
@ -544,7 +544,7 @@ static int asf_read_content_desc(AVFormatContext *s, int64_t size) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int asf_read_ext_content_desc(AVFormatContext *s, int64_t size) |
|
|
|
|
static int asf_read_ext_content_desc(AVFormatContext *s) |
|
|
|
|
{ |
|
|
|
|
AVIOContext *pb = s->pb; |
|
|
|
|
ASFContext *asf = s->priv_data; |
|
|
|
@ -578,7 +578,7 @@ static int asf_read_ext_content_desc(AVFormatContext *s, int64_t size) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int asf_read_language_list(AVFormatContext *s, int64_t size) |
|
|
|
|
static int asf_read_language_list(AVFormatContext *s) |
|
|
|
|
{ |
|
|
|
|
AVIOContext *pb = s->pb; |
|
|
|
|
ASFContext *asf = s->priv_data; |
|
|
|
@ -598,7 +598,7 @@ static int asf_read_language_list(AVFormatContext *s, int64_t size) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int asf_read_metadata(AVFormatContext *s, int64_t size) |
|
|
|
|
static int asf_read_metadata(AVFormatContext *s) |
|
|
|
|
{ |
|
|
|
|
AVIOContext *pb = s->pb; |
|
|
|
|
ASFContext *asf = s->priv_data; |
|
|
|
@ -646,7 +646,7 @@ static int asf_read_metadata(AVFormatContext *s, int64_t size) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int asf_read_marker(AVFormatContext *s, int64_t size) |
|
|
|
|
static int asf_read_marker(AVFormatContext *s) |
|
|
|
|
{ |
|
|
|
|
AVIOContext *pb = s->pb; |
|
|
|
|
ASFContext *asf = s->priv_data; |
|
|
|
@ -725,21 +725,21 @@ static int asf_read_header(AVFormatContext *s) |
|
|
|
|
if (gsize < 24) |
|
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
|
if (!ff_guidcmp(&g, &ff_asf_file_header)) { |
|
|
|
|
ret = asf_read_file_properties(s, gsize); |
|
|
|
|
ret = asf_read_file_properties(s); |
|
|
|
|
} else if (!ff_guidcmp(&g, &ff_asf_stream_header)) { |
|
|
|
|
ret = asf_read_stream_properties(s, gsize); |
|
|
|
|
} else if (!ff_guidcmp(&g, &ff_asf_comment_header)) { |
|
|
|
|
asf_read_content_desc(s, gsize); |
|
|
|
|
asf_read_content_desc(s); |
|
|
|
|
} else if (!ff_guidcmp(&g, &ff_asf_language_guid)) { |
|
|
|
|
asf_read_language_list(s, gsize); |
|
|
|
|
asf_read_language_list(s); |
|
|
|
|
} else if (!ff_guidcmp(&g, &ff_asf_extended_content_header)) { |
|
|
|
|
asf_read_ext_content_desc(s, gsize); |
|
|
|
|
asf_read_ext_content_desc(s); |
|
|
|
|
} else if (!ff_guidcmp(&g, &ff_asf_metadata_header)) { |
|
|
|
|
asf_read_metadata(s, gsize); |
|
|
|
|
asf_read_metadata(s); |
|
|
|
|
} else if (!ff_guidcmp(&g, &ff_asf_metadata_library_header)) { |
|
|
|
|
asf_read_metadata(s, gsize); |
|
|
|
|
asf_read_metadata(s); |
|
|
|
|
} else if (!ff_guidcmp(&g, &ff_asf_ext_stream_header)) { |
|
|
|
|
asf_read_ext_stream_properties(s, gsize); |
|
|
|
|
asf_read_ext_stream_properties(s); |
|
|
|
|
|
|
|
|
|
// there could be an optional stream properties object to follow
|
|
|
|
|
// if so the next iteration will pick it up
|
|
|
|
@ -749,7 +749,7 @@ static int asf_read_header(AVFormatContext *s) |
|
|
|
|
avio_skip(pb, 6); |
|
|
|
|
continue; |
|
|
|
|
} else if (!ff_guidcmp(&g, &ff_asf_marker_header)) { |
|
|
|
|
asf_read_marker(s, gsize); |
|
|
|
|
asf_read_marker(s); |
|
|
|
|
} else if (avio_feof(pb)) { |
|
|
|
|
return AVERROR_EOF; |
|
|
|
|
} else { |
|
|
|
|