avconv: fix the resampling safety factors for output audio buffer allocation

This matches the output size required for audio_resample()
This commit is contained in:
Justin Ruggles 2012-03-21 16:56:49 -04:00
parent 9869e963a6
commit 4094fc9971

View File

@ -1020,7 +1020,7 @@ static int alloc_audio_output_buf(AVCodecContext *dec, AVCodecContext *enc,
/* calculate required number of samples to allocate */
audio_buf_samples = ((int64_t)nb_samples * enc->sample_rate + dec->sample_rate) /
dec->sample_rate;
audio_buf_samples = audio_buf_samples * 2 + 10000; // safety factors for the deprecated resampling API
audio_buf_samples = 4 * audio_buf_samples + 16; // safety factors for resampling
audio_buf_samples = FFMAX(audio_buf_samples, enc->frame_size);
if (audio_buf_samples > INT_MAX)
return AVERROR(EINVAL);