summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2021-08-12 15:26:27 +0300
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-08-12 12:31:15 +0000
commit01c430fa45031549ee864cda6c85c29c20ca8364 (patch)
tree0bff16865b5f364ced0f26693dc5a23da8522842 /ext
parent7a03acc546eecc1e0c68eadf1d8cab0c97aa112f (diff)
downloadgstreamer-plugins-bad-01c430fa45031549ee864cda6c85c29c20ca8364.tar.gz
webrtcbin: Don't assume that non-audio medias are video medias when creating transceivers
And print the unknown media kind in the logs. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2464>
Diffstat (limited to 'ext')
-rw-r--r--ext/webrtc/gstwebrtcbin.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/ext/webrtc/gstwebrtcbin.c b/ext/webrtc/gstwebrtcbin.c
index f5a83034f..1fcb6bf86 100644
--- a/ext/webrtc/gstwebrtcbin.c
+++ b/ext/webrtc/gstwebrtcbin.c
@@ -3720,14 +3720,18 @@ _create_answer_task (GstWebRTCBin * webrtc, const GstStructure * options,
if (g_strcmp0 (gst_sdp_media_get_media (offer_media), "audio") == 0)
kind = GST_WEBRTC_KIND_AUDIO;
- else
+ else if (g_strcmp0 (gst_sdp_media_get_media (offer_media),
+ "video") == 0)
kind = GST_WEBRTC_KIND_VIDEO;
+ else
+ GST_LOG_OBJECT (webrtc, "Unknown media kind %s",
+ GST_STR_NULL (gst_sdp_media_get_media (offer_media)));
trans = _create_webrtc_transceiver (webrtc, answer_dir, i, kind, NULL);
rtp_trans = GST_WEBRTC_RTP_TRANSCEIVER (trans);
GST_LOG_OBJECT (webrtc, "Created new transceiver %" GST_PTR_FORMAT
- " for mline %u", trans, i);
+ " for mline %u with media kind %d", trans, i, kind);
trans_caps = _find_codec_preferences (webrtc, rtp_trans, i, error);
if (*error) {
@@ -4891,8 +4895,11 @@ _update_transceivers_from_sdp (GstWebRTCBin * webrtc, SDPSource source,
if (!trans) {
if (g_strcmp0 (gst_sdp_media_get_media (media), "audio") == 0)
kind = GST_WEBRTC_KIND_AUDIO;
- else
+ else if (g_strcmp0 (gst_sdp_media_get_media (media), "video") == 0)
kind = GST_WEBRTC_KIND_VIDEO;
+ else
+ GST_LOG_OBJECT (webrtc, "Unknown media kind %s",
+ GST_STR_NULL (gst_sdp_media_get_media (media)));
trans = _find_transceiver (webrtc, GINT_TO_POINTER (kind),
(FindTransceiverFunc) _find_compatible_unassociated_transceiver);