diff options
-rw-r--r-- | libavformat/movenc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 1d96894075..3547618410 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -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) |