diff oggparsevorbis.c @ 5824:b9f21d75c81a libavformat

oggdec: Metadata is per-stream; don't merge multiple streams' together
author conrad
date Fri, 12 Mar 2010 05:16:44 +0000
parents e3830094915a
children 4a67f1418e4c
line wrap: on
line diff
--- a/oggparsevorbis.c	Fri Mar 12 05:16:39 2010 +0000
+++ b/oggparsevorbis.c	Fri Mar 12 05:16:44 2010 +0000
@@ -42,7 +42,7 @@
 };
 
 int
-ff_vorbis_comment(AVFormatContext * as, uint8_t *buf, int size)
+ff_vorbis_comment(AVFormatContext * as, AVMetadata **m, uint8_t *buf, int size)
 {
     const uint8_t *p = buf;
     const uint8_t *end = buf + size;
@@ -101,7 +101,7 @@
             memcpy(ct, v, vl);
             ct[vl] = 0;
 
-            av_metadata_set2(&as->metadata, tt, ct,
+            av_metadata_set2(m, tt, ct,
                                    AV_METADATA_DONT_STRDUP_KEY |
                                    AV_METADATA_DONT_STRDUP_VAL);
         }
@@ -220,7 +220,7 @@
         st->time_base.den = st->codec->sample_rate;
     } else if (os->buf[os->pstart] == 3) {
         if (os->psize > 8)
-            ff_vorbis_comment (s, os->buf + os->pstart + 7, os->psize - 8);
+            ff_vorbis_comment (s, &st->metadata, os->buf + os->pstart + 7, os->psize - 8);
     } else {
         st->codec->extradata_size =
             fixup_vorbis_headers(s, priv, &st->codec->extradata);