ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
webrtc.c File Reference

Go to the source code of this file.

Data Structures

struct  webrtc_peer_connection
 
struct  webrtc_data_channel
 

Functions

asciichat_error_t webrtc_init (void)
 Initialize WebRTC library (libdatachannel)
 
void webrtc_cleanup (void)
 Cleanup WebRTC library resources.
 
asciichat_error_t webrtc_create_peer_connection (const webrtc_config_t *config, webrtc_peer_connection_t **pc_out)
 Create a new WebRTC peer connection.
 
void webrtc_close_peer_connection (webrtc_peer_connection_t *pc)
 Close and destroy a peer connection.
 
webrtc_state_t webrtc_get_state (webrtc_peer_connection_t *pc)
 Get current connection state.
 
void * webrtc_get_user_data (webrtc_peer_connection_t *pc)
 Get user data pointer from connection.
 
asciichat_error_t webrtc_create_offer (webrtc_peer_connection_t *pc)
 Create and set local SDP offer (for connection initiator)
 
asciichat_error_t webrtc_set_remote_description (webrtc_peer_connection_t *pc, const char *sdp, const char *type)
 Set remote SDP offer/answer.
 
asciichat_error_t webrtc_add_remote_candidate (webrtc_peer_connection_t *pc, const char *candidate, const char *mid)
 Add remote ICE candidate.
 
asciichat_error_t webrtc_create_datachannel (webrtc_peer_connection_t *pc, const char *label, webrtc_data_channel_t **dc_out)
 Create a DataChannel (for connection initiator)
 
asciichat_error_t webrtc_datachannel_send (webrtc_data_channel_t *dc, const uint8_t *data, size_t size)
 Send data over DataChannel.
 
bool webrtc_datachannel_is_open (webrtc_data_channel_t *dc)
 Check if DataChannel is open and ready.
 
const char * webrtc_datachannel_get_label (webrtc_data_channel_t *dc)
 Get DataChannel label.
 
void webrtc_close_datachannel (webrtc_data_channel_t *dc)
 Close a DataChannel.
 
asciichat_error_t webrtc_datachannel_set_callbacks (webrtc_data_channel_t *dc, const webrtc_datachannel_callbacks_t *callbacks)
 Set DataChannel callbacks.
 
void webrtc_datachannel_destroy (webrtc_data_channel_t *dc)
 Destroy a DataChannel and free resources.
 
void webrtc_peer_connection_close (webrtc_peer_connection_t *pc)
 Close a peer connection.
 
void webrtc_peer_connection_destroy (webrtc_peer_connection_t *pc)
 Destroy a peer connection and free resources.