lavf/movenc: fix writing of some iTunes metadata tag
authorMatthieu Bouron <matthieu.bouron@gmail.com>
Sat, 29 Jun 2013 15:56:49 +0000 (17:56 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Jul 2013 15:18:49 +0000 (17:18 +0200)
Fix metadata display under iTunes for files using pgap, hdvd, stick,
tvsn and tves tags.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/movenc.c

index c19d58d6835a069eb7253079a7bce1c39d2219f3..5d224bcacb115c5a220b45737a7dd76c4b0e84ea 100644 (file)
@@ -2046,16 +2046,25 @@ static int mov_write_int8_metadata(AVFormatContext *s, AVIOContext *pb,
 {
     AVDictionaryEntry *t = NULL;
     uint8_t num;
+    int size = 24 + len;
+
+    if (len != 1 && len != 4)
+        return -1;
 
     if (!(t = av_dict_get(s->metadata, tag, NULL, 0)))
         return 0;
     num = atoi(t->value);
 
-    avio_wb32(pb, len+8);
+    avio_wb32(pb, size);
     ffio_wfourcc(pb, name);
+    avio_wb32(pb, size - 8);
+    ffio_wfourcc(pb, "data");
+    avio_wb32(pb, 0x15);
+    avio_wb32(pb, 0);
     if (len==4) avio_wb32(pb, num);
     else        avio_w8 (pb, num);
-    return len+8;
+
+    return size;
 }
 
 /* iTunes meta data list */