Difference between revisions of "GStreamer WebRTC Wrapper/Architecture/GstWebRTCWrapperBin Modules"

From RidgeRun Developer Connection
Jump to: navigation, search
 
(29 intermediate revisions by 11 users not shown)
Line 1: Line 1:
 
<noinclude>
 
<noinclude>
{{GStreamer WebRTC Wrapper/Head|next=Getting_the_Code|previous=Architecture|keywords=}}
+
{{GStreamer WebRTC Wrapper/Head|next=Architecture/GstWebRTCWrapperBin_BaseSignaler|previous=Architecture|metakeywords=}}
 
</noinclude>
 
</noinclude>
  
= GstWebrtc Wrapper Modules =  
+
==Modules==
  
This section describes the modules which will include as part of GstWebrtcWrapperbin Element. The modules correspond to the blocks in the '''Figure 2.'''
+
=== GstWebRTCBin ===
  
<center>
+
It is the GStreamer Element for WebRTC protocol developed by the GStreamer Team.
[[File:GstWebWrapper arch.png|600px]]<br>
 
'''Figure 2.''' GstWebRTCWrapperbin module diagram.
 
</center>
 
  
== GstWebRTCBin ==
 
  
It is the GStreamer Element for WebRTC protocol development for GStreamer Team.
+
=== WebRTC State Machine ===
 
 
==== Properties ====
 
 
 
* '''start-call''': The endpoint sends the local description as offer
 
* '''ice-server''': Set the ice server mechanism.
 
* '''signaler''': Set the signaling mechanism for negotiation.
 
 
 
== WebRTC State Machine ==
 
  
 
The module to control the negotiation procedure during the WebRTC connection.
 
The module to control the negotiation procedure during the WebRTC connection.
Line 33: Line 21:
 
==== Signal ====
 
==== Signal ====
  
* ''on-change-state'' : Emitted afterchanging a new state.
+
* ''on-change-state'' : Emitted after changing a new state.
  
== BaseSignaler ==
+
== Properties ==
  
The module to handle the signaling mechanism to negotiate.
+
* '''async-handling''': The element will handle Asynchronous state changes.
 
+
* '''bundle-policy''': Set the policy to apply for bundling.
==== Methods ====
+
* '''connection-status''': Get the collective connection state of the element.
 
+
* '''data-channel''': Enable or disable data channels to send and receive metadata ('''gst 1.18+''').
* '''init()''': Initial configuration for BaseSignalerClass.
+
* '''ice-server''': Set the ice server mechanism.
* '''open_connection()''': open the signaling connection.
+
* '''ice-transport-policy''': Set to limit the transport policies of the ICE candidates to be considered during the connection process.
* '''send_local_description()''': Send the local description through signaling.
+
* '''latency''': Set the duration to buffer in the jitterbuffers (in ms).
* '''send_candidate()''': Send the candidate through signaling.
+
* '''message-forward''': Forwards all children messages.
* '''send_custom_message()''': Send a custom message through signaling.
+
* '''metadata''': Set the string which will be sent by the data channel ('''gst 1.18+''').
* '''close_connection()''': close the signaling connection.
+
* '''metadata-binary''': Set the binary which will be sent by the data channel ('''gst 1.18+''').
 
+
* '''signaler''': Set the signaling mechanism for negotiation.
==== Signals ====
+
* '''start-call''': The endpoint sends the local description as an offer.
 
 
* ''on-add-candidate'': Emitted after receiving a candidate.
 
*  ''on-add-remote-description'': Emitted after receiving the remote description
 
''on-close-connection'': Emitted after receiving close message.
 
*  ''on-error-connection'': Emitted after receiving an error message.
 
 
 
== BaseIceServers ==
 
 
 
The module to handle the ice serving mechanisms.
 
 
 
==== Methods ====
 
 
 
* '''get_stun_servers()''': Returns the list of STUN servers.
 
* '''get_turn_servers()''': Returns the list of TURN servers.
 
 
 
== PubnubSignaler ==
 
 
 
The module to handle the PubNub resources for messaging. This class is based on GstBaseSignaler class.
 
 
 
==== Properties ====
 
 
 
* '''peer-channel''': The peer chaneel to call.
 
* '''user-channel''': The user channel identification.
 
* '''publish-key'''': Autentification Key to publish message on PubNub.
 
* '''subscribe-key''': Autentification Key to subscribe message from PubNub.
 
* '''pubnub-server''': PubNub Server URL
 
 
 
==== Methods ====
 
 
 
* '''init()''': Initial configuration for BaseSignalerClass.
 
* '''open_connection()''': open the signaling connection.
 
* '''send_local_description()''': Send the local description through signaling.
 
* '''send_candidate()''': Send the candidate through signaling.
 
* '''send_custom_message()''': Send a custom message through signaling.
 
* '''close_connection()''': close the signaling connection.
 
 
 
==== Signals ====
 
 
 
* ''on-add-candidate'': Emitted after receiving a candidate.
 
*  ''on-add-remote-description'': Emitted after receiving the remote description
 
*  ''on-close-connection'': Emitted after receiving close message.
 
*  ''on-error-connection'': Emitted after receiving an error message.
 
 
 
== XirsysIceServer ==
 
 
 
The module to handle the ice serving for Xirsys CoTURN. This class is based on GstXirsysIceServer.
 
  
==== Properties ====
+
== Signals ==
  
* '''ident''': Ident provided via Xirsys Account.
+
* '''on-bandwidth-estimation''': This signal is emitted when a REMB RTCP packet has arrived.
* '''secret''': Secret provided via Xirsys Account
+
* '''on-signaler-notify''': This signal is emitted when it gets a notification from signaler.
* '''channel'''': Channel provided via Xirsys Account
+
* '''send-metadata''': Action signal to send a string over a data channel ('''gst 1.18+''').
* '''xirsys_path''': Xirsys path provided via Xirsys Account
+
* '''send-metadata-binary''': Action signal to send a binary over a data channel ('''gst 1.18+''').
 +
* '''on-message-data''': This signal will receive the metadata type for binaries ('''gst 1.18+''').
 +
* '''on-message-string''': This signal will receive the metadata type for strings ('''gst 1.18+''').
  
==== Methods ====
 
  
* '''get_stun_servers()''': Returns the list of STUN servers.
+
<noinclude>{{GStreamer WebRTC Wrapper/Foot|Architecture|Architecture/GstWebRTCWrapperBin_BaseSignaler}}</noinclude>
* '''get_turn_servers()''': Returns the list of TURN servers.
 
  
 
[[Category:GStreamer WebRTC Wrapper]]
 
[[Category:GStreamer WebRTC Wrapper]]

Latest revision as of 18:09, 10 July 2023




Previous: Architecture Index Next: Architecture/GstWebRTCWrapperBin_BaseSignaler




Modules

GstWebRTCBin

It is the GStreamer Element for WebRTC protocol developed by the GStreamer Team.


WebRTC State Machine

The module to control the negotiation procedure during the WebRTC connection.

Method

  • current_state(): Get current state
  • next_state(): Move to next state.

Signal

  • on-change-state : Emitted after changing a new state.

Properties

  • async-handling: The element will handle Asynchronous state changes.
  • bundle-policy: Set the policy to apply for bundling.
  • connection-status: Get the collective connection state of the element.
  • data-channel: Enable or disable data channels to send and receive metadata (gst 1.18+).
  • ice-server: Set the ice server mechanism.
  • ice-transport-policy: Set to limit the transport policies of the ICE candidates to be considered during the connection process.
  • latency: Set the duration to buffer in the jitterbuffers (in ms).
  • message-forward: Forwards all children messages.
  • metadata: Set the string which will be sent by the data channel (gst 1.18+).
  • metadata-binary: Set the binary which will be sent by the data channel (gst 1.18+).
  • signaler: Set the signaling mechanism for negotiation.
  • start-call: The endpoint sends the local description as an offer.

Signals

  • on-bandwidth-estimation: This signal is emitted when a REMB RTCP packet has arrived.
  • on-signaler-notify: This signal is emitted when it gets a notification from signaler.
  • send-metadata: Action signal to send a string over a data channel (gst 1.18+).
  • send-metadata-binary: Action signal to send a binary over a data channel (gst 1.18+).
  • on-message-data: This signal will receive the metadata type for binaries (gst 1.18+).
  • on-message-string: This signal will receive the metadata type for strings (gst 1.18+).


Previous: Architecture Index Next: Architecture/GstWebRTCWrapperBin_BaseSignaler