Janus ICE handle. More...
#include <ice.h>

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