# HG changeset patch # User bcoudurier # Date 1213176815 0 # Node ID 1ccb0b1813c951e5e40c104a7b804ca74ef8b2d0 # Parent 0bbc97acefde2d92370b09bc7c0e83bde8d663d4 write usual brand for ipod format diff -r 0bbc97acefde -r 1ccb0b1813c9 movenc.c --- a/movenc.c Wed Jun 11 09:06:27 2008 +0000 +++ b/movenc.c Wed Jun 11 09:33:35 2008 +0000 @@ -1351,6 +1351,7 @@ 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 @@ 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 @@ 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 "); }