ffmpeg | branch: master | Andreas Rheinhardt <[email protected]> | 
Thu Nov 12 17:57:37 2020 +0100| [bf4909f0a3ed0155343a64cd6611a6fe4ecd5c8d] | 
committer: Andreas Rheinhardt

avformat/asfdec_o: Export metadata that applies to the whole file

The ASF specification of Metadata Objects' stream number is as follows:

"Specifies whether the entry applies to a specific digital media stream
or whether it applies to the whole file. A value of 0 in this field
indicates that it applies to the whole file; otherwise, the entry
applies only to the indicated stream number and must be between 1 and
127."

Yet the asf_o demuxer (the one originating from Libav) has always
treated such metadata as if it applied to a stream even though no stream
with a stream number may exist in a valid ASF file. This is fixed in
this commit; it affected e.g. the file
wma_with_metadata_library_object_tag_trimmed.wma from the FATE suite.

Signed-off-by: Andreas Rheinhardt <[email protected]>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bf4909f0a3ed0155343a64cd6611a6fe4ecd5c8d
---

 libavformat/asfdec_o.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/asfdec_o.c b/libavformat/asfdec_o.c
index 0a7e47d8cc..2dcbc16332 100644
--- a/libavformat/asfdec_o.c
+++ b/libavformat/asfdec_o.c
@@ -596,7 +596,8 @@ static int asf_read_metadata_obj(AVFormatContext *s, const 
GUIDParseTable *g)
         } else {
             if (st_num < ASF_MAX_STREAMS) {
                 if ((ret = process_metadata(s, name, name_len, val_len, type,
-                                            &asf->asf_sd[st_num].asf_met)) < 
0) {
+                                            st_num ? 
&asf->asf_sd[st_num].asf_met
+                                                   : &s->metadata)) < 0) {
                     av_freep(&name);
                     break;
                 }

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to