diff --git a/audio/out/ao_lavc.c b/audio/out/ao_lavc.c index b49898fc5c..cb53407eb6 100644 --- a/audio/out/ao_lavc.c +++ b/audio/out/ao_lavc.c @@ -31,6 +31,7 @@ #include "options/options.h" #include "common/common.h" #include "audio/aframe.h" +#include "audio/chmap_avchannel.h" #include "audio/format.h" #include "audio/fmt-conversion.h" #include "filters/filter_internal.h" @@ -124,8 +125,13 @@ static int init(struct ao *ao) if (!ao_chmap_sel_adjust2(ao, &sel, &ao->channels, false)) goto fail; mp_chmap_reorder_to_lavc(&ao->channels); + +#if !HAVE_AV_CHANNEL_LAYOUT encoder->channels = ao->channels.num; encoder->channel_layout = mp_chmap_to_lavc(&ao->channels); +#else + mp_chmap_to_av_layout(&encoder->ch_layout, &ao->channels); +#endif encoder->sample_fmt = AV_SAMPLE_FMT_NONE;