mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
webrtcbin: Expose SCTP Transport
Being able to access the SCTP Transport object from the application means the application can access the associated DTLS Transport object and its ICE Transport object. This means we can observe the ICE state also for a data-channel-only session. The collated ice-connection-state on webrtcbin only includes the ICE Transport objects that resides on the RTP transceivers (which is exactly how it is specified in https://w3c.github.io/webrtc-pc/#rtciceconnectionstate-enum). For the consent freshness functionality (RFC 7675) to work the ICE state must be accessible and consequently the SCTP transport must be accessible for enabling consent freshness checking for a data-channel-only session. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2214>
This commit is contained in:
parent
67a49be61f
commit
7f9bb15055
2 changed files with 29 additions and 1 deletions
|
@ -227981,6 +227981,17 @@
|
|||
"type": "GstWebRTCSessionDescription",
|
||||
"writable": false
|
||||
},
|
||||
"sctp-transport": {
|
||||
"blurb": "The WebRTC SCTP Transport",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstObject",
|
||||
"writable": false
|
||||
},
|
||||
"signaling-state": {
|
||||
"blurb": "The signaling state of this element",
|
||||
"conditionally-available": false,
|
||||
|
|
|
@ -467,7 +467,8 @@ enum
|
|||
PROP_BUNDLE_POLICY,
|
||||
PROP_ICE_TRANSPORT_POLICY,
|
||||
PROP_ICE_AGENT,
|
||||
PROP_LATENCY
|
||||
PROP_LATENCY,
|
||||
PROP_SCTP_TRANSPORT,
|
||||
};
|
||||
|
||||
static guint gst_webrtc_bin_signals[LAST_SIGNAL] = { 0 };
|
||||
|
@ -6914,6 +6915,9 @@ gst_webrtc_bin_get_property (GObject * object, guint prop_id,
|
|||
case PROP_LATENCY:
|
||||
g_value_set_uint (value, webrtc->priv->jb_latency);
|
||||
break;
|
||||
case PROP_SCTP_TRANSPORT:
|
||||
g_value_set_object (value, webrtc->priv->sctp_transport);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
|
@ -7191,6 +7195,19 @@ gst_webrtc_bin_class_init (GstWebRTCBinClass * klass)
|
|||
0, G_MAXUINT, DEFAULT_JB_LATENCY,
|
||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||
|
||||
/**
|
||||
* GstWebRTCBin:sctp-transport:
|
||||
*
|
||||
* The WebRTC SCTP Transport
|
||||
*
|
||||
* Since: 1.20
|
||||
*/
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_SCTP_TRANSPORT,
|
||||
g_param_spec_object ("sctp-transport", "WebRTC SCTP Transport",
|
||||
"The WebRTC SCTP Transport",
|
||||
GST_TYPE_OBJECT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
|
||||
|
||||
/**
|
||||
* GstWebRTCBin::create-offer:
|
||||
* @object: the #webrtcbin
|
||||
|
|
Loading…
Reference in a new issue