From 806bdc7c4be2112b530d6ef30b87671ded33289f Mon Sep 17 00:00:00 2001 From: Jordan Yelloz Date: Fri, 20 Dec 2024 13:28:38 -0700 Subject: [PATCH] decklink: Fixed caps-building for output devices When iterating through output devices, video_input_caps was being updated instead of video_output_caps. As a result, video output devices were being created with an empty caps object and `gst-device-monitor-1.0 Video/Sink` would produce no decklink devices. Part-of: --- .../sys/decklink/gstdecklink.cpp | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/subprojects/gst-plugins-bad/sys/decklink/gstdecklink.cpp b/subprojects/gst-plugins-bad/sys/decklink/gstdecklink.cpp index 467ecb1170..c23211a679 100644 --- a/subprojects/gst-plugins-bad/sys/decklink/gstdecklink.cpp +++ b/subprojects/gst-plugins-bad/sys/decklink/gstdecklink.cpp @@ -2021,16 +2021,16 @@ init_devices (gpointer data) GstStructure *s = gst_structure_copy (generic); gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt601", NULL); - video_input_caps = - gst_caps_merge_structure (video_input_caps, s); + video_output_caps = + gst_caps_merge_structure (video_output_caps, s); } if (mode->mode_flags & flags & bmdDisplayModeColorspaceRec709) { GstStructure *s = gst_structure_copy (generic); gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt709", NULL); - video_input_caps = - gst_caps_merge_structure (video_input_caps, s); + video_output_caps = + gst_caps_merge_structure (video_output_caps, s); } if ((supported & SUPPORT_COLORSPACE) && @@ -2038,23 +2038,23 @@ init_devices (gpointer data) GstStructure *s = gst_structure_copy (generic); gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2020", NULL); - video_input_caps = - gst_caps_merge_structure (video_input_caps, s); + video_output_caps = + gst_caps_merge_structure (video_output_caps, s); if (dynamic_range & bmdDynamicRangeHDRStaticPQ) { GstStructure *s = gst_structure_copy (generic); gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-pq", NULL); - video_input_caps = - gst_caps_merge_structure (video_input_caps, s); + video_output_caps = + gst_caps_merge_structure (video_output_caps, s); } if (dynamic_range & bmdDynamicRangeHDRStaticHLG) { GstStructure *s = gst_structure_copy (generic); gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-hlg", NULL); - video_input_caps = - gst_caps_merge_structure (video_input_caps, s); + video_output_caps = + gst_caps_merge_structure (video_output_caps, s); } }