From cc7e98816f38fdc06a044de44e29d885dac1b8fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 8 Oct 2020 18:50:12 +0300 Subject: [PATCH] Revert "webrtc: Save the media kind in the transceiver" This reverts commit f54d8e99457996303b8477b1f3a710f0fabd1cc6. It breaks the CI until the C# bindings are fixed. --- ext/webrtc/gstwebrtcbin.c | 69 +--------------------------- gst-libs/gst/webrtc/rtptransceiver.h | 2 - gst-libs/gst/webrtc/webrtc_fwd.h | 17 ------- 3 files changed, 1 insertion(+), 87 deletions(-) diff --git a/ext/webrtc/gstwebrtcbin.c b/ext/webrtc/gstwebrtcbin.c index 75d02a4972..67d1d55e77 100644 --- a/ext/webrtc/gstwebrtcbin.c +++ b/ext/webrtc/gstwebrtcbin.c @@ -2870,47 +2870,6 @@ _media_add_rtx (GstSDPMedia * media, WebRTCTransceiver * trans, } } -static GstWebRTCKind -_kind_from_caps (const GstCaps * caps) -{ - GstStructure *s; - const gchar *media; - - if (gst_caps_get_size (caps) == 0) - return GST_WEBRTC_KIND_UNKNOWN; - - s = gst_caps_get_structure (caps, 0); - - media = gst_structure_get_string (s, "media"); - if (media == NULL) - return GST_WEBRTC_KIND_UNKNOWN; - - if (!g_strcmp0 (media, "audio")) - return GST_WEBRTC_KIND_AUDIO; - - if (!g_strcmp0 (media, "video")) - return GST_WEBRTC_KIND_VIDEO; - - return GST_WEBRTC_KIND_UNKNOWN; -} - -static gboolean -_update_transceiver_kind_from_caps (GstWebRTCRTPTransceiver * trans, - const GstCaps * caps) -{ - GstWebRTCKind kind = _kind_from_caps (caps); - - if (trans->kind == kind) - return TRUE; - - if (trans->kind == GST_WEBRTC_KIND_UNKNOWN) { - trans->kind = kind; - return TRUE; - } else { - return FALSE; - } -} - static void _get_rtx_target_pt_and_ssrc_from_caps (GstCaps * answer_caps, gint * target_pt, guint * target_ssrc) @@ -3221,10 +3180,6 @@ _create_answer_task (GstWebRTCBin * webrtc, const GstStructure * options, } else { trans = WEBRTC_TRANSCEIVER (rtp_trans); } - if (!_update_transceiver_kind_from_caps (rtp_trans, answer_caps)) - GST_WARNING_OBJECT (webrtc, - "Trying to change transceiver %d kind from %d to %d", - rtp_trans->mline, rtp_trans->kind, _kind_from_caps (answer_caps)); if (!trans->do_nack) { answer_caps = gst_caps_make_writable (answer_caps); @@ -3844,20 +3799,6 @@ _update_transceiver_from_sdp_media (GstWebRTCBin * webrtc, rtp_trans->mline = media_idx; - if (!g_strcmp0 (gst_sdp_media_get_media (media), "audio")) { - if (rtp_trans->kind == GST_WEBRTC_KIND_VIDEO) - GST_FIXME_OBJECT (webrtc, - "Updating video transceiver to audio, which isn't fully supported."); - rtp_trans->kind = GST_WEBRTC_KIND_AUDIO; - } - - if (!g_strcmp0 (gst_sdp_media_get_media (media), "video")) { - if (rtp_trans->kind == GST_WEBRTC_KIND_AUDIO) - GST_FIXME_OBJECT (webrtc, - "Updating audio transceiver to video, which isn't fully supported."); - rtp_trans->kind = GST_WEBRTC_KIND_VIDEO; - } - for (i = 0; i < gst_sdp_media_attributes_len (media); i++) { const GstSDPAttribute *attr = gst_sdp_media_get_attribute (media, i); @@ -5119,10 +5060,8 @@ gst_webrtc_bin_add_transceiver (GstWebRTCBin * webrtc, "Created new unassociated transceiver %" GST_PTR_FORMAT, trans); rtp_trans = GST_WEBRTC_RTP_TRANSCEIVER (trans); - if (caps) { + if (caps) rtp_trans->codec_preferences = gst_caps_ref (caps); - _update_transceiver_kind_from_caps (rtp_trans, caps); - } return gst_object_ref (trans); } @@ -5973,12 +5912,6 @@ gst_webrtc_bin_request_new_pad (GstElement * element, GstPadTemplate * templ, } pad->trans = gst_object_ref (trans); - if (caps && name && !_update_transceiver_kind_from_caps (trans, caps)) - GST_WARNING_OBJECT (webrtc, - "Trying to create pad %s with caps %" GST_PTR_FORMAT - " but transceiver %d already exists with a different" - " media type", name, caps, serial); - pad->block_id = gst_pad_add_probe (GST_PAD (pad), GST_PAD_PROBE_TYPE_BLOCK | GST_PAD_PROBE_TYPE_BUFFER | GST_PAD_PROBE_TYPE_BUFFER_LIST, (GstPadProbeCallback) sink_pad_block, NULL, NULL); diff --git a/gst-libs/gst/webrtc/rtptransceiver.h b/gst-libs/gst/webrtc/rtptransceiver.h index 5d14e95f1e..4b2e6e30cc 100644 --- a/gst-libs/gst/webrtc/rtptransceiver.h +++ b/gst-libs/gst/webrtc/rtptransceiver.h @@ -38,7 +38,6 @@ GType gst_webrtc_rtp_transceiver_get_type(void); /** * GstWebRTCRTPTransceiver: - * @kind: Type of media (Since: 1.20) */ struct _GstWebRTCRTPTransceiver { @@ -54,7 +53,6 @@ struct _GstWebRTCRTPTransceiver GstWebRTCRTPTransceiverDirection current_direction; GstCaps *codec_preferences; - GstWebRTCKind kind; gpointer _padding[GST_PADDING]; }; diff --git a/gst-libs/gst/webrtc/webrtc_fwd.h b/gst-libs/gst/webrtc/webrtc_fwd.h index 4de3412318..5c727d2344 100644 --- a/gst-libs/gst/webrtc/webrtc_fwd.h +++ b/gst-libs/gst/webrtc/webrtc_fwd.h @@ -373,21 +373,4 @@ typedef enum /**/ GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY, } GstWebRTCICETransportPolicy; -/** - * GstWebRTCKind: - * @GST_WEBRTC_KIND_UNKNOWN: Kind has not yet been set - * @GST_WEBRTC_KIND_AUDIO: Kind is audio - * @GST_WEBRTC_KIND_VIDEO: Kind is audio - * - * https://w3c.github.io/mediacapture-main/#dom-mediastreamtrack-kind - * - * Since: 1.20 - */ -typedef enum /**/ -{ - GST_WEBRTC_KIND_UNKNOWN, - GST_WEBRTC_KIND_AUDIO, - GST_WEBRTC_KIND_VIDEO, -} GstWebRTCKind; - #endif /* __GST_WEBRTC_FWD_H__ */