webrtcbin: Limit sink query to sink pads

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/2632>
This commit is contained in:
Olivier Crête 2022-06-15 15:06:20 -04:00 committed by Tim-Philipp Müller
parent a602275e8d
commit 037beeb157

View file

@ -488,8 +488,10 @@ gst_webrtc_bin_pad_new (const gchar * name, GstPadDirection direction)
direction, "template", template, NULL); direction, "template", template, NULL);
gst_object_unref (template); gst_object_unref (template);
if (direction == GST_PAD_SINK) {
gst_pad_set_event_function (GST_PAD (pad), gst_webrtcbin_sink_event); 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_pad_set_query_function (GST_PAD (pad), gst_webrtcbin_sink_query);
}
gst_pad_add_probe (GST_PAD (pad), GST_PAD_PROBE_TYPE_BUFFER | gst_pad_add_probe (GST_PAD (pad), GST_PAD_PROBE_TYPE_BUFFER |
GST_PAD_PROBE_TYPE_BUFFER_LIST, webrtc_bin_pad_buffer_cb, NULL, NULL); GST_PAD_PROBE_TYPE_BUFFER_LIST, webrtc_bin_pad_buffer_cb, NULL, NULL);