From e8b1291b5a7339ae19f031da1a0e23fe031c2d23 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Cartegnie?= Date: Tue, 23 Apr 2024 13:14:53 +0700 Subject: [PATCH] demux/mux: avformat: use ch_layout from ffmpeg 5.1 merger pick from commit a55ec32ab3760d9edb6f05481cd3a981aa42878d and fixup 195f0c98599b55950c49a62f98d9d3495be310df Gbp-Pq: Name 0010-demux-mux-avformat-use-ch_layout-from-ffmpeg-5.1.patch --- modules/demux/avformat/demux.c | 4 ++++ modules/demux/avformat/mux.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/modules/demux/avformat/demux.c b/modules/demux/avformat/demux.c index 3b355bb3..830dc015 100644 --- a/modules/demux/avformat/demux.c +++ b/modules/demux/avformat/demux.c @@ -401,7 +401,11 @@ int avformat_OpenDemux( vlc_object_t *p_this ) es_format_Init( &es_fmt, AUDIO_ES, fcc ); es_fmt.i_original_fourcc = CodecTagToFourcc( cp->codec_tag ); es_fmt.i_bitrate = cp->bit_rate; +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 59, 24, 100 ) && LIBAVCODEC_VERSION_MICRO >= 100 + es_fmt.audio.i_channels = cp->ch_layout.nb_channels; +#else es_fmt.audio.i_channels = cp->channels; +#endif es_fmt.audio.i_rate = cp->sample_rate; es_fmt.audio.i_bitspersample = cp->bits_per_coded_sample; es_fmt.audio.i_blockalign = cp->block_align; diff --git a/modules/demux/avformat/mux.c b/modules/demux/avformat/mux.c index c7082769..8bf87358 100644 --- a/modules/demux/avformat/mux.c +++ b/modules/demux/avformat/mux.c @@ -267,7 +267,11 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input ) { case AUDIO_ES: codecpar->codec_type = AVMEDIA_TYPE_AUDIO; +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 59, 24, 100 ) && LIBAVCODEC_VERSION_MICRO >= 100 + av_channel_layout_default( &codecpar->ch_layout, fmt->audio.i_channels ); +#else codecpar->channels = fmt->audio.i_channels; +#endif codecpar->sample_rate = fmt->audio.i_rate; stream->time_base = (AVRational){1, codecpar->sample_rate}; if (fmt->i_bitrate == 0) { -- 2.30.2