Loading...
Searching...
No Matches
janus_ice_handle Struct Reference

Janus ICE handle. More...

`#include <ice.h>`

Collaboration diagram for janus_ice_handle:
[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_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 * | pc_mid
| Main mid.
guint | stream_id
| ICE Stream ID.
janus_ice_peerconnection * | pc
| WebRTC PeerConnection, if any.
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 | has_pc
| Atomic flag to check whether a PeerConnection was established.
volatile gint | closepc
| Whether a close_pc was requested recently on the PeerConnection.
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.

## 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.

## 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.

## pc

janus_ice_peerconnection* janus_ice_handle::pc

WebRTC PeerConnection, if any.

## pc_mid

gchar* janus_ice_handle::pc_mid

Main mid.

## 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_id

guint janus_ice_handle::stream_id

ICE Stream ID.

## 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

## 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:

- ice.h