diff --git a/ffmpeg.c b/ffmpeg.c index 3c29f3251f..a794dd31dd 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1245,7 +1245,7 @@ need_realloc: ost->sync_opts = lrintf(get_sync_ipts(ost) * enc->sample_rate) - av_fifo_size(ost->fifo) / (enc->channels * osize); // FIXME wrong - if (ost->audio_resample) { + if (ost->audio_resample || ost->audio_channels_mapped) { buftmp = audio_buf; size_out = swr_convert(ost->swr, ( uint8_t*[]){buftmp}, audio_buf_size / (enc->channels * osize), (const uint8_t*[]){buf }, size / (dec->channels * isize));