diff options
author | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2008-06-15 01:38:38 +0000 |
---|---|---|
committer | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2008-06-15 01:38:38 +0000 |
commit | 40f8675ccf24eed9532b20203b9227dd43b2678f (patch) | |
tree | 43cac42d64c7a19f17e2889839cfed702d014be7 | |
parent | 6ba9ed9557d82ffa98ea95955e6a94fe6fe3ddd9 (diff) | |
download | ffmpeg-40f8675ccf24eed9532b20203b9227dd43b2678f.tar.gz |
set correct ftyp minor version for 3gp/2
Originally committed as revision 13774 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/movenc.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 9a5c62b49d..d41fd97b48 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -1379,6 +1379,7 @@ static int mov_write_ftyp_tag(ByteIOContext *pb, AVFormatContext *s) MOVContext *mov = s->priv_data; offset_t pos = url_ftell(pb); int has_h264 = 0, has_video = 0; + int minor = 0x200; int i; for (i = 0; i < s->nb_streams; i++) { @@ -1392,11 +1393,13 @@ static int mov_write_ftyp_tag(ByteIOContext *pb, AVFormatContext *s) put_be32(pb, 0); /* size */ put_tag(pb, "ftyp"); - if (mov->mode == MODE_3GP) - put_tag(pb, has_h264 ? "3gp6":"3gp4"); - else if (mov->mode & MODE_3G2) - put_tag(pb, has_h264 ? "3g2b":"3g2a"); - else if (mov->mode == MODE_PSP) + if (mov->mode == MODE_3GP) { + put_tag(pb, has_h264 ? "3gp6" : "3gp4"); + minor = has_h264 ? 0x100 : 0x200; + } else if (mov->mode & MODE_3G2) { + put_tag(pb, has_h264 ? "3g2b" : "3g2a"); + minor = has_h264 ? 0x20000 : 0x10000; + }else if (mov->mode == MODE_PSP) put_tag(pb, "MSNV"); else if (mov->mode == MODE_MP4) put_tag(pb, "isom"); @@ -1405,7 +1408,7 @@ static int mov_write_ftyp_tag(ByteIOContext *pb, AVFormatContext *s) else put_tag(pb, "qt "); - put_be32(pb, 0x200); + put_be32(pb, minor); if(mov->mode == MODE_MOV) put_tag(pb, "qt "); |