webrtcsdp: Don't require fingerprint in inactive media
authorOlivier Crête <olivier.crete@collabora.com>
Mon, 8 Aug 2022 18:46:16 +0000 (14:46 -0400)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 14 Nov 2023 19:50:48 +0000 (19:50 +0000)
Inactive m-lines don't need a fingerprint as they may not
have a connection.

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

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

index 769fdaa..221ac4e 100644 (file)
@@ -118,6 +118,12 @@ _check_sdp_crypto (SDPSource source, GstWebRTCSessionDescription * sdp,
     const GstSDPMedia *media = gst_sdp_message_get_media (sdp->sdp, i);
     const gchar *media_fingerprint =
         gst_sdp_media_get_attribute_val (media, "fingerprint");
+    GstWebRTCRTPTransceiverDirection direction =
+        _get_direction_from_media (media);
+
+    /* Skip inactive media */
+    if (direction == GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE)
+      continue;
 
     if (!IS_EMPTY_SDP_ATTRIBUTE (message_fingerprint)
         && !IS_EMPTY_SDP_ATTRIBUTE (media_fingerprint)) {