Browse Source

movenc.c: Force correct value for "Samples per packet" for pcm audio

Apple spec is for it to always be "1" for uncompressed audio.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n1.1
Tim Nicholson Michael Niedermayer 12 years ago
parent
commit
a02762995b
3 changed files with 7 additions and 3 deletions
  1. +5
    -1
      libavformat/movenc.c
  2. +1
    -1
      tests/ref/fate/acodec-pcm-s24be
  3. +1
    -1
      tests/ref/fate/acodec-pcm-s32be

+ 5
- 1
libavformat/movenc.c View File

@@ -709,7 +709,11 @@ static int mov_write_audio_tag(AVIOContext *pb, MOVTrack *track)
}

if(version == 1) { /* SoundDescription V1 extended info */
avio_wb32(pb, track->enc->frame_size); /* Samples per packet */
if (mov_pcm_le_gt16(track->enc->codec_id) ||
mov_pcm_be_gt16(track->enc->codec_id))
avio_wb32(pb, 1); /* must be 1 for uncompressed formats */
else
avio_wb32(pb, track->enc->frame_size); /* Samples per packet */
avio_wb32(pb, track->sample_size / track->enc->channels); /* Bytes per packet */
avio_wb32(pb, track->sample_size); /* Bytes per frame */
avio_wb32(pb, 2); /* Bytes per sample */


+ 1
- 1
tests/ref/fate/acodec-pcm-s24be View File

@@ -1,4 +1,4 @@
cbf0bd68d21099335e197ae812834110 *tests/data/fate/acodec-pcm-s24be.mov
f65a7ae3b70ca53ffa354b1e7ff3a33d *tests/data/fate/acodec-pcm-s24be.mov
1588323 tests/data/fate/acodec-pcm-s24be.mov
64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s24be.out.wav
stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 1058400/ 1058400

+ 1
- 1
tests/ref/fate/acodec-pcm-s32be View File

@@ -1,4 +1,4 @@
856b157d3ab505f0859b0de692e6a8bc *tests/data/fate/acodec-pcm-s32be.mov
f9e16fafeefb2285e943f53133e9cfd5 *tests/data/fate/acodec-pcm-s32be.mov
2117527 tests/data/fate/acodec-pcm-s32be.mov
64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s32be.out.wav
stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 1058400/ 1058400

Loading…
Cancel
Save