GstWebRTCDTLSTransport *dtls_transport;
GstWebRTCICETransport *transport;
GstWebRTCICEGatheringState ice_state;
- gboolean rtcp_mux = FALSE;
if (rtp_trans->stopped || stream == NULL) {
GST_TRACE_OBJECT (webrtc, "transceiver %p stopped or unassociated",
GST_TRACE_OBJECT (webrtc, "transceiver %p has no mid", rtp_trans);
}
- g_object_get (stream, "rtcp-mux", &rtcp_mux, NULL);
-
dtls_transport = webrtc_transceiver_get_dtls_transport (rtp_trans);
if (dtls_transport == NULL) {
GST_WARNING ("Transceiver %p has no DTLS transport", rtp_trans);
for (i = 0; i < webrtc->priv->transceivers->len; i++) {
GstWebRTCRTPTransceiver *rtp_trans =
g_ptr_array_index (webrtc->priv->transceivers, i);
- WebRTCTransceiver *trans = WEBRTC_TRANSCEIVER (rtp_trans);
- TransportStream *stream = trans->stream;
GstWebRTCDTLSTransport *transport;
GstWebRTCICEConnectionState ice_state;
GstWebRTCDTLSTransportState dtls_state;
- gboolean rtcp_mux = FALSE;
if (rtp_trans->stopped) {
GST_TRACE_OBJECT (webrtc, "transceiver %p stopped", rtp_trans);
continue;
}
- g_object_get (stream, "rtcp-mux", &rtcp_mux, NULL);
transport = webrtc_transceiver_get_dtls_transport (rtp_trans);
/* get transport state */
webrtc->priv->data_channel_transport = stream;
- g_object_set (stream, "rtcp-mux", TRUE, NULL);
-
if (!(sctp_transport = webrtc->priv->sctp_transport)) {
sctp_transport = gst_webrtc_sctp_transport_new ();
sctp_transport->transport =
GstWebRTCRTPTransceiverDirection new_dir;
const GstSDPMedia *media = gst_sdp_message_get_media (sdp, media_idx);
GstWebRTCDTLSSetup new_setup;
- gboolean new_rtcp_mux, new_rtcp_rsize;
+ gboolean new_rtcp_rsize;
ReceiveState receive_state = RECEIVE_STATE_UNSET;
int i;
}
if (!bundled || bundle_idx == media_idx) {
- new_rtcp_mux = _media_has_attribute_key (local_media, "rtcp-mux")
- && _media_has_attribute_key (remote_media, "rtcp-mux");
new_rtcp_rsize = _media_has_attribute_key (local_media, "rtcp-rsize")
&& _media_has_attribute_key (remote_media, "rtcp-rsize");
g_object_unref (session);
}
}
-
- g_object_set (stream, "rtcp-mux", new_rtcp_mux, NULL);
}
}
/* data channel is always rtcp-muxed to avoid generating ICE candidates
* for RTCP */
- g_object_set (stream, "rtcp-mux", TRUE, "dtls-client",
+ g_object_set (stream, "dtls-client",
new_setup == GST_WEBRTC_DTLS_SETUP_ACTIVE, NULL);
local_port = _get_sctp_port_from_media (local_media);
g_thread_unref (ice->priv->thread);
}
-#if 0
-static NiceComponentType
-_webrtc_component_to_nice (GstWebRTCICEComponent comp)
-{
- switch (comp) {
- case GST_WEBRTC_ICE_COMPONENT_RTP:
- return NICE_COMPONENT_TYPE_RTP;
- case GST_WEBRTC_ICE_COMPONENT_RTCP:
- return NICE_COMPONENT_TYPE_RTCP;
- default:
- g_assert_not_reached ();
- return 0;
- }
-}
-
-static GstWebRTCICEComponent
-_nice_component_to_webrtc (NiceComponentType comp)
-{
- switch (comp) {
- case NICE_COMPONENT_TYPE_RTP:
- return GST_WEBRTC_ICE_COMPONENT_RTP;
- case NICE_COMPONENT_TYPE_RTCP:
- return GST_WEBRTC_ICE_COMPONENT_RTCP;
- default:
- g_assert_not_reached ();
- return 0;
- }
-}
-#endif
struct NiceStreamItem
{
guint session_id;
g_free (uri);
break;
}
- ret = nice_agent_set_relay_info (ice->priv->nice_agent,
- item->nice_stream_id, NICE_COMPONENT_TYPE_RTCP,
- gst_uri_get_host (turn_server), gst_uri_get_port (turn_server),
- user, pass, relays[i]);
- if (!ret) {
- gchar *uri = gst_uri_to_string (turn_server);
- GST_ERROR_OBJECT (ice, "Failed to set TURN server '%s'", uri);
- g_free (uri);
- break;
- }
}
g_free (user);
g_free (pass);
PROP_0,
PROP_WEBRTC,
PROP_SESSION_ID,
- PROP_RTCP_MUX,
PROP_DTLS_CLIENT,
};
case PROP_SESSION_ID:
stream->session_id = g_value_get_uint (value);
break;
- case PROP_RTCP_MUX:
- stream->rtcp_mux = g_value_get_boolean (value);
- break;
case PROP_DTLS_CLIENT:
stream->dtls_client = g_value_get_boolean (value);
break;
case PROP_SESSION_ID:
g_value_set_uint (value, stream->session_id);
break;
- case PROP_RTCP_MUX:
- g_value_set_boolean (value, stream->rtcp_mux);
- break;
case PROP_DTLS_CLIENT:
g_value_set_boolean (value, stream->dtls_client);
break;
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
- PROP_RTCP_MUX,
- g_param_spec_boolean ("rtcp-mux", "RTCP Mux",
- "Whether RTCP packets are muxed with RTP packets",
- FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (gobject_class,
PROP_DTLS_CLIENT,
g_param_spec_boolean ("dtls-client", "DTLS client",
"Whether we take the client role in DTLS negotiation",