diff options
author | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2008-06-11 09:33:35 +0000 |
---|---|---|
committer | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2008-06-11 09:33:35 +0000 |
commit | c55cc074cc4ac52995836910e5deeadd48a54e91 (patch) | |
tree | 9d4d7c02479f46867f6a9c47b3af024edcd93233 | |
parent | d32d6defeed5675183190c9aa6ae8e3fdddeffe6 (diff) | |
download | ffmpeg-c55cc074cc4ac52995836910e5deeadd48a54e91.tar.gz |
write usual brand for ipod format
Originally committed as revision 13744 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/movenc.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 25f67848a5..5ddcd5be8b 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 "); } |