OSDN Git Service

write usual brand for ipod format
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Wed, 11 Jun 2008 09:33:35 +0000 (09:33 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Wed, 11 Jun 2008 09:33:35 +0000 (09:33 +0000)
Originally committed as revision 13744 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/movenc.c

index 25f6784..5ddcd5b 100644 (file)
@@ -1351,6 +1351,7 @@ static int mov_write_mdat_tag(ByteIOContext *pb, MOVContext *mov)
 static void mov_write_ftyp_tag(ByteIOContext *pb, AVFormatContext *s)
 {
     MOVContext *mov = s->priv_data;
+    int i;
 
     put_be32(pb, 0x14); /* size */
     put_tag(pb, "ftyp");
@@ -1361,9 +1362,17 @@ static void mov_write_ftyp_tag(ByteIOContext *pb, AVFormatContext *s)
         put_tag(pb, "3g2a");
     else if (mov->mode == MODE_PSP)
         put_tag(pb, "MSNV");
-    else if (mov->mode == MODE_MP4 || mov->mode == MODE_IPOD)
+    else if (mov->mode == MODE_MP4)
         put_tag(pb, "isom");
-    else
+    else if (mov->mode == MODE_IPOD) {
+        for (i = 0; i < s->nb_streams; i++)
+            if (s->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO) {
+                put_tag(pb, "M4V ");
+                break;
+            }
+        if (i == s->nb_streams)
+            put_tag(pb, "M4A ");
+    } else
         put_tag(pb, "qt  ");
 
     put_be32(pb, 0x200);
@@ -1374,8 +1383,10 @@ static void mov_write_ftyp_tag(ByteIOContext *pb, AVFormatContext *s)
         put_tag(pb, "3g2a");
     else if (mov->mode == MODE_PSP)
         put_tag(pb, "MSNV");
-    else if (mov->mode == MODE_MP4 || mov->mode == MODE_IPOD)
+    else if (mov->mode == MODE_MP4)
         put_tag(pb, "mp41");
+    else if (mov->mode == MODE_IPOD)
+        put_tag(pb, "isom");
     else
         put_tag(pb, "qt  ");
 }