Difference between revisions of "GstWebRTC - Data Channel"

From RidgeRun Developer Connection
Jump to: navigation, search
Line 3: Line 3:
 
[[GstWebRTC - Evaluating GstWebRTC | Evaluating GstWebRTC]]|
 
[[GstWebRTC - Evaluating GstWebRTC | Evaluating GstWebRTC]]|
  
Ridgerun's GstRrWebRTC provides data channel support. Data channel can be used for data transfer between endpoints by using the SCTP protocol, which allows flow and congestion control. The reliability and delivery order of data are configurable on the SCTP ptotocol.
 
* Reliability means that an endpoint is able to know if the data was received or not by the other endpoint.
 
* Order means that data is received in the same order it was sent.
 
  
Data channel in GstRrWebRTC works with a combination of elements that provide support for data transfer between multiple endpoints on a single session. Such elements are presented in the following image: 
 
 
[[File:data-flow.png|600px|thumbnail|center|Elements involved in data transfer]]
 
  
 
==GstWebRTCBin Data Properties==
 
==GstWebRTCBin Data Properties==
Line 24: Line 18:
 
Used to enable the negotiation of the WebRTC data channel for an endpoint. It is required to use the '''new_data''' and '''on_new_data''' callbacks without data-pads. If not used, the data channel support wont be enabled ('''false''' by default).  
 
Used to enable the negotiation of the WebRTC data channel for an endpoint. It is required to use the '''new_data''' and '''on_new_data''' callbacks without data-pads. If not used, the data channel support wont be enabled ('''false''' by default).  
  
 +
* '''data-channel-status:'''
 +
This property represents the connection status, which indicate if data channel is currently connected. If not used, such information wont be displayed ('''false''' by default).
  
 +
==Data Channel Usage==
  
 +
There is an application called '''datachannel'' inside the '''gst-webrtc/tests/examples/data_channel''' folder. This application allows to establish communication between two endpoints in order to transfer audio, video and data.
  
 
===Options===
 
===Options===

Revision as of 19:47, 27 February 2019