audiotestsrc: Produce a default channel mask if possible
authorVivia Nikolaidou <vivia@ahiru.eu>
Mon, 24 Jan 2022 10:57:10 +0000 (12:57 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 24 Jan 2022 14:05:50 +0000 (14:05 +0000)
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/957

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1560>

subprojects/gst-plugins-base/gst/audiotestsrc/gstaudiotestsrc.c

index b8554ed..a15fe5b 100644 (file)
@@ -382,9 +382,11 @@ gst_audio_test_src_fixate (GstBaseSrc * bsrc, GstCaps * caps)
 
   if (gst_structure_get_int (structure, "channels", &channels) && channels > 2) {
     if (!gst_structure_has_field_typed (structure, "channel-mask",
-            GST_TYPE_BITMASK))
-      gst_structure_set (structure, "channel-mask", GST_TYPE_BITMASK, 0ULL,
+            GST_TYPE_BITMASK)) {
+      guint64 mask = gst_audio_channel_get_fallback_mask (channels);
+      gst_structure_set (structure, "channel-mask", GST_TYPE_BITMASK, mask,
           NULL);
+    }
   }
 
   caps = GST_BASE_SRC_CLASS (parent_class)->fixate (bsrc, caps);