demux/mux: avformat: use ch_layout from ffmpeg 5.1
authorFrançois Cartegnie <fcvlcdev@free.fr>
Tue, 23 Apr 2024 06:14:53 +0000 (13:14 +0700)
committerSebastian Ramacher <sramacher@debian.org>
Thu, 15 Aug 2024 10:11:01 +0000 (12:11 +0200)
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
modules/demux/avformat/mux.c

index 3b355bb3faecc9440b9762a099452e9b0bc43f56..830dc0157e2b7929946b7f856a48ae90c4d1981d 100644 (file)
@@ -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;
index c708276954ce930d5c8e4858efa4d13c80193f0a..8bf8735885f54fcbbb4375bf5a3f6c844883e53c 100644 (file)
@@ -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) {