tsdemux: Fix reading of extended Opus channel configuration

Argument evaluation order is implementation defined in C, and gcc is
evaluating right-to-left (works) while clang is evaluating left-to-right
(does not work).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210>
This commit is contained in:
Sebastian Dröge 2023-03-17 15:51:53 +02:00 committed by GStreamer Marge Bot
parent 0dc5d5ecb1
commit 3851c2da12

View file

@ -1601,11 +1601,12 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
guint8 stream_count_minus_one, coupled_stream_count; guint8 stream_count_minus_one, coupled_stream_count;
gint stream_count_minus_one_len, coupled_stream_count_len; gint stream_count_minus_one_len, coupled_stream_count_len;
gint channel_mapping_len, i; gint channel_mapping_len, i;
guint remaining_bytes;
remaining_bytes = gst_byte_reader_get_remaining (&br);
gst_bit_reader_init (&breader, gst_bit_reader_init (&breader,
gst_byte_reader_get_data_unchecked gst_byte_reader_get_data_unchecked
(&br, gst_byte_reader_get_remaining (&br, remaining_bytes), remaining_bytes);
(&br)), gst_byte_reader_get_remaining (&br));
stream_count_minus_one_len = ceil (_gst_log2 (channels)); stream_count_minus_one_len = ceil (_gst_log2 (channels));
if (!gst_bit_reader_get_bits_uint8 (&breader, if (!gst_bit_reader_get_bits_uint8 (&breader,