From 516fe4ca584a9d79e8c64a7cbe3c5e713064db77 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 5 Jan 2023 17:35:02 +0200 Subject: [PATCH] Revert "opusenc: Reverse channel order in template caps" This reverts commit cdf411e82d7e437e5de138492b6e75e5513686ee. It causes pipelines to unnecessarily negotiate to 8 channels. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1688 Part-of: --- subprojects/gst-plugins-base/ext/opus/gstopusenc.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/subprojects/gst-plugins-base/ext/opus/gstopusenc.c b/subprojects/gst-plugins-base/ext/opus/gstopusenc.c index 5476106..6f1fc2b 100644 --- a/subprojects/gst-plugins-base/ext/opus/gstopusenc.c +++ b/subprojects/gst-plugins-base/ext/opus/gstopusenc.c @@ -857,8 +857,17 @@ gst_opus_enc_get_sink_template_caps (void) g_value_unset (&rate_array); g_value_unset (&v); + /* Mono */ + s = gst_structure_copy (s1); + gst_structure_set (s, "channels", G_TYPE_INT, 1, NULL); + gst_caps_append_structure (caps, s); + + s = gst_structure_copy (s2); + gst_structure_set (s, "channels", G_TYPE_INT, 1, NULL); + gst_caps_append_structure (caps, s); + /* Stereo and further */ - for (i = 8; i >= 2; i--) { + for (i = 2; i <= 8; i++) { guint64 channel_mask = 0; const GstAudioChannelPosition *pos = gst_opus_channel_positions[i - 1]; @@ -889,14 +898,6 @@ gst_opus_enc_get_sink_template_caps (void) gst_caps_append_structure (caps, s); } - /* Mono */ - s = gst_structure_copy (s1); - gst_structure_set (s, "channels", G_TYPE_INT, 1, NULL); - gst_caps_append_structure (caps, s); - - s = gst_structure_copy (s2); - gst_structure_set (s, "channels", G_TYPE_INT, 1, NULL); - gst_caps_append_structure (caps, s); gst_structure_free (s1); gst_structure_free (s2); -- 2.7.4