diff options
author | Andrew Wason <[email protected]> | 2012-02-17 16:24:18 +0100 |
---|---|---|
committer | Michael Niedermayer <[email protected]> | 2012-02-17 16:24:18 +0100 |
commit | a0e44414dfc4ab2d9aa5fdd207fa6ea5f39658e8 (patch) | |
tree | 18a93cc7a9d513f1abc849a3b59d4bbe44ef485d /libavformat/movenc.c | |
parent | 1b84cf41e0776985d9e9336d1629888e7e551ad8 (diff) |
movenc: leave st->codec->frame_size as is instead of forcing it to 1.
Muxing pcm audio in MOV using avcodec_encode_audio() was failing
because avcodec_encode_audio() returns an incorrect packet size of 4
bytes. This can be reproduced by modifying the sample
ffmpeg/doc/examples/muxing.c to encode PCM, see ML patch
muxing-test.diff
I git bisected and commit 89ddff92a385 is the one that broke this. In
mov_write_header() if st->codec->frame_size <= 1 it sets it to 1. Then
avcodec_encode_audio() sets frame->nb_samples = avctx->frame_size, and
frame->nb_samples of 1 is used to compute a packet size of 4 bytes.
Signed-off-by: Michael Niedermayer <[email protected]>
Diffstat (limited to 'libavformat/movenc.c')
-rw-r--r-- | libavformat/movenc.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 2c96f34a6b..1f56fe14fb 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -3124,7 +3124,6 @@ static int mov_write_header(AVFormatContext *s) }else if(st->codec->frame_size > 1){ /* assume compressed audio */ track->audio_vbr = 1; }else{ - st->codec->frame_size = 1; track->sample_size = (av_get_bits_per_sample(st->codec->codec_id) >> 3) * st->codec->channels; } if (track->mode != MODE_MOV) { |