Fork me on GitHub
Loading...
Searching...
No Matches
Data Fields
janus_ice_handle Struct Reference

Janus ICE handle. More...

#include <ice.h>

Collaboration diagram for janus_ice_handle:
Collaboration graph
[legend]

Data Fields

void * session
 Opaque pointer to the core/peer session.
 
guint64 handle_id
 Handle identifier, guaranteed to be non-zero.
 
char * opaque_id
 Opaque identifier, e.g., to provide inter-handle relationships to external tools.
 
char * token
 Token that was used to attach the handle, if required.
 
gint64 created
 Monotonic time of when the handle has been created.
 
void * app
 Opaque application (plugin) pointer.
 
janus_plugin_sessionapp_handle
 Opaque core/plugin session pointer.
 
janus_flags webrtc_flags
 Mask of WebRTC-related flags for this handle.
 
gint cdone
 Number of gathered candidates.
 
GMainContext * mainctx
 GLib context for the handle and libnice.
 
GMainLoop * mainloop
 GLib loop for the handle and libnice.
 
void * static_event_loop
 In case static event loops are used, opaque pointer to the loop.
 
GThread * thread
 GLib thread for the handle and libnice.
 
GSource * rtp_source
 GLib sources for outgoing traffic, recurring RTCP, and stats (and optionally TWCC)
 
GSource * rtcp_source
 
GSource * stats_source
 
GSource * twcc_source
 
NiceAgent * agent
 libnice ICE agent
 
gint64 agent_created
 Monotonic time of when the ICE agent has been created.
 
gint64 agent_started
 Monotonic time of when the ICE agent has been started (remote credentials set)
 
gboolean controlling
 ICE role (controlling or controlled)
 
gchar * audio_mid
 Audio mid (media ID)
 
gchar * video_mid
 Video mid (media ID)
 
gchar * data_mid
 Data channel mid (media ID)
 
gchar * stream_mid
 Main mid (will be a pointer to one of the above)
 
guint stream_id
 ICE Stream ID.
 
janus_ice_streamstream
 ICE stream.
 
gchar * rtp_profile
 RTP profile set by caller (so that we can match it)
 
gchar * local_sdp
 SDP generated locally (just for debugging purposes)
 
gchar * remote_sdp
 SDP received by the peer (just for debugging purposes)
 
const gchar * hangup_reason
 Reason this handle has been hung up.
 
GList * pending_trickles
 List of pending trickle candidates (those we received before getting the JSEP offer)
 
GAsyncQueue * queued_candidates
 Queue of remote candidates that still need to be processed.
 
GAsyncQueue * queued_packets
 Queue of events in the loop and outgoing packets to send.
 
guint srtp_errors_count
 Count of the recent SRTP replay errors, in order to avoid spamming the logs.
 
gint last_srtp_error
 Count of the recent SRTP replay errors, in order to avoid spamming the logs.
 
gint last_srtp_summary
 
gint last_event_stats
 Count of how many seconds passed since the last stats passed to event handlers.
 
volatile gint dump_packets
 Flag to decide whether or not packets need to be dumped to a text2pcap file.
 
janus_text2pcaptext2pcap
 In case this session must be saved to text2pcap, the instance to dump packets to.
 
janus_mutex mutex
 Mutex to lock/unlock the ICE session.
 
volatile gint closepc
 Whether a close_pc was requested recently on the PeerConnection.
 
volatile gint has_pc
 Atomic flag to check whether a PeerConnection was established.
 
volatile gint destroyed
 Atomic flag to check if this instance has been destroyed.
 
janus_refcount ref
 Reference counter for this instance.
 

Detailed Description

Janus ICE handle.

Field Documentation

◆ agent

NiceAgent* janus_ice_handle::agent

libnice ICE agent

◆ agent_created

gint64 janus_ice_handle::agent_created

Monotonic time of when the ICE agent has been created.

◆ agent_started

gint64 janus_ice_handle::agent_started

Monotonic time of when the ICE agent has been started (remote credentials set)

◆ app

void* janus_ice_handle::app

Opaque application (plugin) pointer.

◆ app_handle

janus_plugin_session* janus_ice_handle::app_handle

Opaque core/plugin session pointer.

◆ audio_mid

gchar* janus_ice_handle::audio_mid

Audio mid (media ID)

◆ cdone

gint janus_ice_handle::cdone

Number of gathered candidates.

◆ closepc

volatile gint janus_ice_handle::closepc

Whether a close_pc was requested recently on the PeerConnection.

◆ controlling

gboolean janus_ice_handle::controlling

ICE role (controlling or controlled)

◆ created

gint64 janus_ice_handle::created

Monotonic time of when the handle has been created.

◆ data_mid

gchar* janus_ice_handle::data_mid

Data channel mid (media ID)

◆ destroyed

volatile gint janus_ice_handle::destroyed

Atomic flag to check if this instance has been destroyed.

◆ dump_packets

volatile gint janus_ice_handle::dump_packets

Flag to decide whether or not packets need to be dumped to a text2pcap file.

◆ handle_id

guint64 janus_ice_handle::handle_id

Handle identifier, guaranteed to be non-zero.

◆ hangup_reason

const gchar* janus_ice_handle::hangup_reason

Reason this handle has been hung up.

◆ has_pc

volatile gint janus_ice_handle::has_pc

Atomic flag to check whether a PeerConnection was established.

◆ last_event_stats

gint janus_ice_handle::last_event_stats

Count of how many seconds passed since the last stats passed to event handlers.

◆ last_srtp_error

gint janus_ice_handle::last_srtp_error

Count of the recent SRTP replay errors, in order to avoid spamming the logs.

◆ last_srtp_summary

gint janus_ice_handle::last_srtp_summary

◆ local_sdp

gchar* janus_ice_handle::local_sdp

SDP generated locally (just for debugging purposes)

◆ mainctx

GMainContext* janus_ice_handle::mainctx

GLib context for the handle and libnice.

◆ mainloop

GMainLoop* janus_ice_handle::mainloop

GLib loop for the handle and libnice.

◆ mutex

janus_mutex janus_ice_handle::mutex

Mutex to lock/unlock the ICE session.

◆ opaque_id

char* janus_ice_handle::opaque_id

Opaque identifier, e.g., to provide inter-handle relationships to external tools.

◆ pending_trickles

GList* janus_ice_handle::pending_trickles

List of pending trickle candidates (those we received before getting the JSEP offer)

◆ queued_candidates

GAsyncQueue* janus_ice_handle::queued_candidates

Queue of remote candidates that still need to be processed.

◆ queued_packets

GAsyncQueue* janus_ice_handle::queued_packets

Queue of events in the loop and outgoing packets to send.

◆ ref

janus_refcount janus_ice_handle::ref

Reference counter for this instance.

◆ remote_sdp

gchar* janus_ice_handle::remote_sdp

SDP received by the peer (just for debugging purposes)

◆ rtcp_source

GSource * janus_ice_handle::rtcp_source

◆ rtp_profile

gchar* janus_ice_handle::rtp_profile

RTP profile set by caller (so that we can match it)

◆ rtp_source

GSource* janus_ice_handle::rtp_source

GLib sources for outgoing traffic, recurring RTCP, and stats (and optionally TWCC)

◆ session

void* janus_ice_handle::session

Opaque pointer to the core/peer session.

◆ srtp_errors_count

guint janus_ice_handle::srtp_errors_count

Count of the recent SRTP replay errors, in order to avoid spamming the logs.

◆ static_event_loop

void* janus_ice_handle::static_event_loop

In case static event loops are used, opaque pointer to the loop.

◆ stats_source

GSource * janus_ice_handle::stats_source

◆ stream

janus_ice_stream* janus_ice_handle::stream

ICE stream.

◆ stream_id

guint janus_ice_handle::stream_id

ICE Stream ID.

◆ stream_mid

gchar* janus_ice_handle::stream_mid

Main mid (will be a pointer to one of the above)

◆ text2pcap

janus_text2pcap* janus_ice_handle::text2pcap

In case this session must be saved to text2pcap, the instance to dump packets to.

◆ thread

GThread* janus_ice_handle::thread

GLib thread for the handle and libnice.

◆ token

char* janus_ice_handle::token

Token that was used to attach the handle, if required.

◆ twcc_source

GSource * janus_ice_handle::twcc_source

◆ video_mid

gchar* janus_ice_handle::video_mid

Video mid (media ID)

◆ webrtc_flags

janus_flags janus_ice_handle::webrtc_flags

Mask of WebRTC-related flags for this handle.


The documentation for this struct was generated from the following file: