Mercurial > libavformat.hg
changeset 1125:6380964c7623 libavformat
fix aac in mov for ipod
author | bcoudurier |
---|---|
date | Mon, 19 Jun 2006 11:28:28 +0000 |
parents | d3aff2c607f9 |
children | 8ba9a025a342 |
files | movenc.c |
diffstat | 1 files changed, 12 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/movenc.c Sun Jun 18 11:33:14 2006 +0000 +++ b/movenc.c Mon Jun 19 11:28:28 2006 +0000 @@ -323,6 +323,10 @@ put_le32(pb, track->tag); if (track->enc->codec_id == CODEC_ID_AAC) { + /* useless atom needed by mplayer, ipod, not needed by quicktime */ + put_be32(pb, 12); /* size */ + put_tag(pb, "mp4a"); + put_be32(pb, 0); mov_write_esds_tag(pb, track); } else if (track->enc->codec_id == CODEC_ID_PCM_S24LE || track->enc->codec_id == CODEC_ID_PCM_S32LE) { @@ -394,10 +398,14 @@ if(version == 1) { /* SoundDescription V1 extended info */ - put_be32(pb, track->enc->frame_size); /* Samples per packet */ - put_be32(pb, track->sampleDuration); /* Bytes per frame */ - put_be32(pb, 8); /* Bytes per sample */ - put_be32(pb, 2); + put_be32(pb, track->enc->frame_size); /* Samples per packet */ + /* Parameters tested on quicktime 6.5, 7 */ + put_be32(pb, 1); /* Bytes per packet */ + /* FIXME not correct */ + /* 8 is the min value needed for in32 to work with quicktime 6.5 */ + /* Value ignored by other codecs currently supported (others might need it) */ + put_be32(pb, 8); /* Bytes per frame */ + put_be32(pb, 2); /* Bytes per sample */ } if(track->mode == MODE_MOV &&