correctly mux mpeg2 audio 13818-3 in mp4
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Tue, 2 Sep 2008 20:48:45 +0000 (20:48 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Tue, 2 Sep 2008 20:48:45 +0000 (20:48 +0000)
Originally committed as revision 15156 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/movenc.c

index 1d96894..3547618 100644 (file)
@@ -272,7 +272,13 @@ static int mov_write_esds_tag(ByteIOContext *pb, MOVTrack *track) // Basic
     putDescr(pb, 0x04, 13 + decoderSpecificInfoLen);
 
     // Object type indication
-    put_byte(pb, codec_get_tag(ff_mp4_obj_type, track->enc->codec_id));
+    if ((track->enc->codec_id == CODEC_ID_MP2 ||
+         track->enc->codec_id == CODEC_ID_MP3) &&
+        track->enc->sample_rate <= 24000 &&
+        track->enc->sample_rate >= 16000)
+        put_byte(pb, 105); // 13818-3
+    else
+        put_byte(pb, codec_get_tag(ff_mp4_obj_type, track->enc->codec_id));
 
     // the following fields is made of 6 bits to identify the streamtype (4 for video, 5 for audio)
     // plus 1 bit to indicate upstream and 1 bit set to 1 (reserved)