diff --git a/ffmpeg.c b/ffmpeg.c index 6817f9cca78286809c3707b52319b4753c0f9bac..6c3994f0d4ec308c49a1cff19e702db44d2387c6 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1102,6 +1102,12 @@ static int reap_filters(void) case AVMEDIA_TYPE_AUDIO: avfilter_copy_buf_props(filtered_frame, picref); filtered_frame->pts = frame_pts; + if (!(ost->st->codec->codec->capabilities & CODEC_CAP_PARAM_CHANGE) && + ost->st->codec->channels != av_frame_get_channels(filtered_frame)) { + av_log(NULL, AV_LOG_ERROR, + "Audio filter graph output is not normalized and encoder does not support parameter changes\n"); + break; + } do_audio_out(of->ctx, ost, filtered_frame); break; default: