diff mbox series

[FFmpeg-devel,074/281] hls_sample_encryption: convert to new channel layout API

Message ID 20220113015101.4-75-jamrial@gmail.com
State Accepted
Commit dd25ca02ae42dbc2a63971304cb4585876cc894d
Headers show
Series New channel layout API | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_aarch64_jetson success Make finished
andriy/make_fate_aarch64_jetson success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished
andriy/make_armv7_RPi4 success Make finished
andriy/make_fate_armv7_RPi4 fail Make fate failed

Commit Message

James Almer Jan. 13, 2022, 1:50 a.m. UTC
Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavformat/hls_sample_encryption.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/libavformat/hls_sample_encryption.c b/libavformat/hls_sample_encryption.c
index 3dbaff717e..159a6edc6e 100644
--- a/libavformat/hls_sample_encryption.c
+++ b/libavformat/hls_sample_encryption.c
@@ -109,13 +109,14 @@  int ff_hls_senc_parse_audio_setup_info(AVStream *st, HLSAudioSetupInfo *info)
         }
 
         st->codecpar->sample_rate       = ac3hdr->sample_rate;
-        st->codecpar->channels          = ac3hdr->channels;
-        st->codecpar->channel_layout    = ac3hdr->channel_layout;
+        av_channel_layout_uninit(&st->codecpar->ch_layout);
+        av_channel_layout_from_mask(&st->codecpar->ch_layout, ac3hdr->channel_layout);
         st->codecpar->bit_rate          = ac3hdr->bit_rate;
 
         av_free(ac3hdr);
     } else {  /*  Parse 'dec3' EC3SpecificBox */
         GetBitContext gb;
+        uint64_t mask;
         int data_rate, fscod, acmod, lfeon;
 
         ret = init_get_bits8(&gb, info->setup_data, info->setup_data_length);
@@ -131,11 +132,12 @@  int ff_hls_senc_parse_audio_setup_info(AVStream *st, HLSAudioSetupInfo *info)
 
         st->codecpar->sample_rate = eac3_sample_rate_tab[fscod];
 
-        st->codecpar->channel_layout = ff_ac3_channel_layout_tab[acmod];
+        mask = ff_ac3_channel_layout_tab[acmod];
         if (lfeon)
-            st->codecpar->channel_layout |= AV_CH_LOW_FREQUENCY;
+            mask |= AV_CH_LOW_FREQUENCY;
 
-        st->codecpar->channels = av_get_channel_layout_nb_channels(st->codecpar->channel_layout);
+        av_channel_layout_uninit(&st->codecpar->ch_layout);
+        av_channel_layout_from_mask(&st->codecpar->ch_layout, mask);
 
         st->codecpar->bit_rate = data_rate*1000;
     }