On Wed, 6 Feb 2013 14:35:27 +0100, Vladimir Pantelic <vlado...@gmail.com> wrote: > In some ASF files this objects holds cover art and other tags. Compared to > Metadata Object it can also hold GUIDs, but we ignore these for now. > > Signed-off-by: Vladimir Pantelic <vlado...@gmail.com> > --- > libavformat/asf.c | 4 ++++ > libavformat/asf.h | 1 + > libavformat/asfdec.c | 6 ++++++ > 3 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/libavformat/asf.c b/libavformat/asf.c > index eda8bd0..52afa09 100644 > --- a/libavformat/asf.c > +++ b/libavformat/asf.c > @@ -109,6 +109,10 @@ const ff_asf_guid ff_asf_metadata_header = { > 0xea, 0xcb, 0xf8, 0xc5, 0xaf, 0x5b, 0x77, 0x48, 0x84, 0x67, 0xaa, 0x8c, > 0x44, 0xfa, 0x4c, 0xca > }; > > +const ff_asf_guid ff_asf_metadata_library_header = { > + 0x94, 0x1c, 0x23, 0x44, 0x98, 0x94, 0xd1, 0x49, 0xa1, 0x41, 0x1d, 0x13, > 0x4e, 0x45, 0x70, 0x54 > +}; > + > const ff_asf_guid ff_asf_marker_header = { > 0x01, 0xCD, 0x87, 0xF4, 0x51, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, > 0x0C, 0x20, 0x53, 0x65 > }; > diff --git a/libavformat/asf.h b/libavformat/asf.h > index 1d94a2c..3aada8b 100644 > --- a/libavformat/asf.h > +++ b/libavformat/asf.h > @@ -103,6 +103,7 @@ extern const ff_asf_guid ff_asf_simple_index_header; > extern const ff_asf_guid ff_asf_ext_stream_embed_stream_header; > extern const ff_asf_guid ff_asf_ext_stream_audio_stream; > extern const ff_asf_guid ff_asf_metadata_header; > +extern const ff_asf_guid ff_asf_metadata_library_header; > extern const ff_asf_guid ff_asf_marker_header; > extern const ff_asf_guid ff_asf_my_guid; > extern const ff_asf_guid ff_asf_language_guid; > diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c > index e85ee8f..51422ea 100644 > --- a/libavformat/asfdec.c > +++ b/libavformat/asfdec.c > @@ -136,6 +136,7 @@ static void print_guid(ff_asf_guid *g) > else PRINT_IF_GUID(g, ff_asf_ext_stream_embed_stream_header); > else PRINT_IF_GUID(g, ff_asf_ext_stream_audio_stream); > else PRINT_IF_GUID(g, ff_asf_metadata_header); > + else PRINT_IF_GUID(g, ff_asf_metadata_library_header); > else PRINT_IF_GUID(g, ff_asf_marker_header); > else PRINT_IF_GUID(g, stream_bitrate_guid); > else PRINT_IF_GUID(g, ff_asf_language_guid); > @@ -296,6 +297,9 @@ static void get_tag(AVFormatContext *s, const char *key, > int type, int len, int > } else if (type == 1 && !strcmp(key, "WM/Picture")) { // handle cover art > asf_read_picture(s, len); > goto finish; > + } else if (type == 6) { // (don't) handle GUID > + av_log(s, AV_LOG_DEBUG, "Unsupported GUID value in tag %s.\n", key); > + goto finish; > } else { > av_log(s, AV_LOG_DEBUG, > "Unsupported value type %d in tag %s.\n", type, key); > @@ -740,6 +744,8 @@ static int asf_read_header(AVFormatContext *s) > asf_read_ext_content_desc(s, gsize); > } else if (!ff_guidcmp(&g, &ff_asf_metadata_header)) { > asf_read_metadata(s, gsize); > + } else if (!ff_guidcmp(&g, &ff_asf_metadata_library_header)) { > + asf_read_metadata(s, gsize); > } else if (!ff_guidcmp(&g, &ff_asf_ext_stream_header)) { > asf_read_ext_stream_properties(s, gsize); >
LGTM -- Anton Khirnov _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel