From c55cc074cc4ac52995836910e5deeadd48a54e91 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Wed, 11 Jun 2008 09:33:35 +0000 Subject: [PATCH] write usual brand for ipod format Originally committed as revision 13744 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/movenc.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 25f67848a..5ddcd5be8 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -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 "); } -- 2.11.0