webrtcbin: Limit sink query to sink pads
authorOlivier CrĂȘte <olivier.crete@collabora.com>
Wed, 15 Jun 2022 19:06:20 +0000 (15:06 -0400)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 17 Jun 2022 08:08:43 +0000 (08:08 +0000)
This allows the reception of streams that don't exactly match
the codec preferences. In particular, the ssrc in the codec preferences
is local sender SSRC, the other side is expected to send a different SSRC.

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

subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcbin.c

index cfc32f0..978adec 100644 (file)
@@ -459,8 +459,10 @@ gst_webrtc_bin_pad_new (const gchar * name, GstPadDirection direction)
       direction, "template", template, NULL);
   gst_object_unref (template);
 
-  gst_pad_set_event_function (GST_PAD (pad), gst_webrtcbin_sink_event);
-  gst_pad_set_query_function (GST_PAD (pad), gst_webrtcbin_sink_query);
+  if (direction == GST_PAD_SINK) {
+    gst_pad_set_event_function (GST_PAD (pad), gst_webrtcbin_sink_event);
+    gst_pad_set_query_function (GST_PAD (pad), gst_webrtcbin_sink_query);
+  }
 
   GST_DEBUG_OBJECT (pad, "new visible pad with direction %s",
       direction == GST_PAD_SRC ? "src" : "sink");