GstWebRTC - GstWebRTCBin: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 67: Line 67:


== Properties ==
== Properties ==
===name===
The name of the object. For this property "webrtcbin0" is the default value.
===parent===
The parent of the object.
===async-handling===
The bin will handle Asynchronous state changes
                        Boolean. Default: false
===message-forward===
Forwards all children messages
                        Boolean. Default: true
===signaler===
Type of predefined signaler to use.
If you require a custom signaler use signaler-obj property. According to the selected signaler different properties will be available. These properties can be accessed using the "signaler::<property>" syntax. The following list details the properties of the different signalers:
'''GstOwrSignaler:'''
*'''session-id:''' Session Identification. Default: "ridgerun"
server-url          : URL Server Connection
                                                        flags: readable, writable
                                                        String. Default: "http://localhost:8080"
api-token          : API Token ID
                                                        flags: readable, writable
                                                        String. Default: "RRGstWebRTC"
GstPubnubSignaler
publish-key        : Key to Publish Messages (only set in NULL state)
                                                        flags: readable, writable
                                                        String. Default: "pub-c-561a7378-fa06-4c50-a331-5c0056d0163c"
subscribe-key      : Key to Subscribe Messages (only set in NULL state)
                                                        flags: readable, writable
                                                        String. Default: "pubsub.pubnub.com"
user-channel        : Username Channel (only set in NULL state)
                                                        flags: readable, writable
                                                        String. Default: "gstwebrtc"
peer-channel        : Only Incoming Messages from this peer number will be accepted if
set, If it is not set, incoming messages from any peer will be
accepted. If start call is true, the offer SDP will be sent to
this peer number, so that it is required. (only set in NULL state)
                                                        flags: readable, writable
                                                        String. Default: "(null)"
origin-url          : PubNub Signaler Origin URL (only set in NULL state)
                                                        flags: readable, writable
                                                        String. Default: "pubsub.pubnub.com"
GstApprtcSignaler
session-id          : Session Identification
                                                        flags: readable, writable
                                                        String. Default: "ridgerun"
server-url          : URL Server Connection
                                                        flags: readable, writable
                                                        String. Default: "http://localhost:8080"
                        flags: readable, writable
                        Enum "GstWebRtcSignalers" Default: 1, "GstPubnubSignaler"
                          (0): GstOwrSignaler  - Open WebRTC signaler
                          (1): GstPubnubSignaler - Pubnub signaler
                          (2): GstApprtcSignaler - AppRTC signaler
===signaler-obj===
Custom signaler object to use (Must only be called on NULL state).
Leave this NULL if you want to use a predefined signaler.
                        flags: writable
                        Object of type "GstBaseSignaler" Write only
===stun-server===
STUN Server IP Address: address:port
                        flags: readable, writable
                        String. Default: "webrtc.ridgerun.com:3478"
===turn-server===
TURN Server IP Address: 'user:password@address:port(?transport=[udp|tcp|tls])'
                        flags: readable, writable
                        String. Default: "ridgerun:Gh3tVhVZam3SSqb@webrtc.ridgerun.com:3478:transport=tcp"
===certificate-pem===
PEM file name containing the certificate, if PEM file is not set or
is not found, autogenerated certificate will be used
                        flags: readable, writable
                        String. Default: null
===start-call===
It's used to set which endpoint responsible of starting the call and sending the initial offer SDP to the peer. It only makes sense to have this property set to TRUE in one of the endpoints.
Default value: false
===data-port===
The SCTP port for data transfer
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 65535 Default: 5000
===data-channel-id===
The ID of the data channel stream (random number if 0 is set)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 65535 Default: 13118
===rtcp-mux===
Enable Multiplex RTP and RTCP in a single port (Endpoint will reconfigure if needed)
                        flags: writable
                        Boolean. Default: true Write only
===ice-trickle===
Send single ICE candidates when they become available
                        flags: readable, writable
                        Boolean. Default: false
===enable-data===
Include the negotiation of the WebRTC data channel for this endpoint
(required to use the new_data and on_new_data callbacks without data-pads)
                        flags: writable
                        Boolean. Default: false Write only
===enable-rtcp-timeout===
Monitor RTCP Feedback, if there are no messages within 30 seconds we will trigger a signal
                        flags: readable, writable
                        Boolean. Default: false
===rtp-stats-interval===
Interval in milliseconds to get RTP Stats as Gstreamer Messages
                        flags: readable, writable
                        Unsigned Integer. Range: 50 - 4294967295 Default: 1000
===data-channel-status===
Connection status indicating if the data channel is currently connected
                        flags: readable
                        Boolean. Default: false
==Signals==
==="on-new-data"===
void user_function (GstElement* object,
                                      guint arg0,
                                      gchararray arg1,
                                      gpointer user_data);
==="on-rtcp-bitrate"===
void user_function (GstElement* object,
                                          guint arg0,
                                          guint arg1,
                                          guint arg2,
                                          guint64 arg3,
                                          gpointer user_data);
==="on-rtcp-timeout"===
void user_function (GstElement* object,
                                          gpointer user_data);
==Actions==
==="new-data"===
gboolean user_function (GstElement* object,
                                        gchararray arg0,
                                        guint arg1);


|keywords=Gstreamer WebRTC Basics,Plugin Overview,WebRTC Basics,Gstreamer WebRTC Plugin Overview,GstRrWebRTCBin element,GstRrWebRTCBin}}
|keywords=Gstreamer WebRTC Basics,Plugin Overview,WebRTC Basics,Gstreamer WebRTC Plugin Overview,GstRrWebRTCBin element,GstRrWebRTCBin}}
932

edits