Loading...
Searching...
No Matches
janus_ice_peerconnection Struct Reference

Janus handle WebRTC PeerConnection. More...

`#include <ice.h>`

Collaboration diagram for janus_ice_peerconnection:
[legend]

## Data Fields

janus_ice_handle * | handle
| Janus ICE handle this stream belongs to.
guint | stream_id
| libnice ICE stream ID
guint | component_id
| libnice ICE component ID
gboolean | cdone
| Whether this stream is ready to be used.
guint | state
| libnice ICE component state
gint64 | gathered
| Monotonic time of when gathering has completed.
gint64 | connected
| Monotonic time of when ICE has successfully connected.
GSList * | candidates
| GLib list of libnice remote candidates for this component.
GSList * | local_candidates
| GLib list of local candidates for this component (summary).
GSList * | remote_candidates
| GLib list of remote candidates for this component (summary).
gchar * | selected_pair
| String representation of the selected pair as notified by libnice (foundations).
gboolean | process_started
| Whether the setup of remote candidates for this component has started or not.
GSource * | icestate_source
| Timer to check when we should consider ICE as failed.
gint64 | icefailed_detected
| Time of when we first detected an ICE failed (we'll need this for the timer above).
GSource * | dtlsrt_source
| Re-transmission timer for DTLS.
janus_dtls_srtp * | dtls
| DTLS-SRTP stack.
gint | mid_ext_id
| SDES mid RTP extension ID.
gint | rid_ext_id
| RTP Stream extension ID, and the related rtx one.
gint | ridrtx_ext_id
gint | audiolevel_ext_id
| Audio levels extension ID.
gint | videoorientation_ext_id
| Video orientation extension ID.
gint | playoutdelay_ext_id
| Playout delay extension ID.
gint | dependencydesc_ext_id
| Dependency descriptor extension ID.
gint | abs_send_time_ext_id
| Absolute Send Time ext ID.
gint | abs_capture_time_ext_id
| Absolute Capture Time ext ID.
gint | videolayers_ext_id
| Video Layers Allocation ext ID.
gboolean | do_transport_wide_cc
| Whether we do transport wide cc.
gint | transport_wide_cc_ext_id
| Transport wide cc rtp ext ID.
guint16 | transport_wide_cc_out_seq_num
| Last sent transport wide seq num.
guint32 | transport_wide_cc_last_seq_num
| Last received transport wide seq num.
guint32 | transport_wide_cc_last_feedback_seq_num
| Last transport wide seq num sent on feedback.
guint16 | transport_wide_cc_cycles
| Transport wide cc transport seq num wrap cycles.
guint | transport_wide_cc_feedback_count
| Transport wide cc rtp ext ID.
GSList * | transport_wide_received_seq_nums
| GLib list of transport wide cc stats in reverse received order.
uint32_t | remb_bitrate
| Latest REMB feedback we received.
janus_dtls_role | dtls_role
| DTLS role of the server for this stream.
janus_ice_stats | dtls_in_stats
| Data exchanged for DTLS handshakes and messages.
janus_ice_stats | dtls_out_stats
gchar * | remote_hashing
| Hashing algorithm used by the peer for the DTLS certificate (e.g., "SHA-256").
gchar * | remote_fingerprint
| Hashed fingerprint of the peer's certificate, as parsed in SDP.
gchar * | ruser
| The ICE username for this stream.
gchar * | rpass
| The ICE password for this stream.
GHashTable * | media
| GLib hash table of media (m-line indexes are the keys).
GHashTable * | media_byssrc
| GLib hash table of media (SSRCs are the keys).
GHashTable * | media_bymid
| GLib hash table of media (mids are the keys).
GHashTable * | media_bytype
| GLib hash table of media (media types are the keys).
GHashTable * | payload_types
| List of payload types we can expect.
GHashTable * | clock_rates
| Mapping of payload types to their clock rates, as advertised in the SDP.
GHashTable * | rtx_payload_types
| Mapping of rtx payload types to actual media-related packet types.
GHashTable * | rtx_payload_types_rev
| Reverse mapping of rtx payload types to actual media-related packet types.
GQueue * | nacks_queue
| Helper queue for storing requested packets from NACKs.
gboolean | noerrorlog
| Helper flag to avoid flooding the console with the same error all over again.
volatile gint | too_large
| Flag to count how many too large packets we discarded, if any.
janus_mutex | mutex
| Mutex to lock/unlock this stream.
volatile gint | destroyed
| Atomic flag to check if this instance has been destroyed.
janus_refcount | ref
| Reference counter for this instance.

## Detailed Description

Janus handle WebRTC PeerConnection.

## Field Documentation

## abs_capture_time_ext_id

gint janus_ice_peerconnection::abs_capture_time_ext_id

Absolute Capture Time ext ID.

## abs_send_time_ext_id

gint janus_ice_peerconnection::abs_send_time_ext_id

Absolute Send Time ext ID.

## audiolevel_ext_id

gint janus_ice_peerconnection::audiolevel_ext_id

Audio levels extension ID.

## candidates

GSList* janus_ice_peerconnection::candidates

GLib list of libnice remote candidates for this component.

## cdone

gboolean janus_ice_peerconnection::cdone

Whether this stream is ready to be used.

## clock_rates

GHashTable* janus_ice_peerconnection::clock_rates

Mapping of payload types to their clock rates, as advertised in the SDP.

## component_id

guint janus_ice_peerconnection::component_id

libnice ICE component ID

## connected

gint64 janus_ice_peerconnection::connected

Monotonic time of when ICE has successfully connected.

## dependencydesc_ext_id

gint janus_ice_peerconnection::dependencydesc_ext_id

Dependency descriptor extension ID.

## destroyed

volatile gint janus_ice_peerconnection::destroyed

Atomic flag to check if this instance has been destroyed.

## do_transport_wide_cc

gboolean janus_ice_peerconnection::do_transport_wide_cc

Whether we do transport wide cc.

## dtls

janus_dtls_srtp* janus_ice_peerconnection::dtls

DTLS-SRTP stack.

## dtls_in_stats

janus_ice_stats janus_ice_peerconnection::dtls_in_stats

Data exchanged for DTLS handshakes and messages.

## dtls_out_stats

janus_ice_stats janus_ice_peerconnection::dtls_out_stats

## dtls_role

janus_dtls_role janus_ice_peerconnection::dtls_role

DTLS role of the server for this stream.

## dtlsrt_source

GSource* janus_ice_peerconnection::dtlsrt_source

Re-transmission timer for DTLS.

## gathered

gint64 janus_ice_peerconnection::gathered

Monotonic time of when gathering has completed.

## handle

janus_ice_handle* janus_ice_peerconnection::handle

Janus ICE handle this stream belongs to.

## icefailed_detected

gint64 janus_ice_peerconnection::icefailed_detected

Time of when we first detected an ICE failed (we'll need this for the timer above).

## icestate_source

GSource* janus_ice_peerconnection::icestate_source

Timer to check when we should consider ICE as failed.

## local_candidates

GSList* janus_ice_peerconnection::local_candidates

GLib list of local candidates for this component (summary).

## media

GHashTable* janus_ice_peerconnection::media

GLib hash table of media (m-line indexes are the keys).

## media_bymid

GHashTable* janus_ice_peerconnection::media_bymid

GLib hash table of media (mids are the keys).

## media_byssrc

GHashTable* janus_ice_peerconnection::media_byssrc

GLib hash table of media (SSRCs are the keys).

## media_bytype

GHashTable* janus_ice_peerconnection::media_bytype

GLib hash table of media (media types are the keys).

Note
  This is just a convenience hash table to track the very first audio or video m-line, in order to make it easier for plugins that don't do multistream. That said, we don't plan to keep it forever

## mid_ext_id

gint janus_ice_peerconnection::mid_ext_id

SDES mid RTP extension ID.

## mutex

janus_mutex janus_ice_peerconnection::mutex

Mutex to lock/unlock this stream.

## nacks_queue

GQueue* janus_ice_peerconnection::nacks_queue

Helper queue for storing requested packets from NACKs.

## noerrorlog

gboolean janus_ice_peerconnection::noerrorlog

Helper flag to avoid flooding the console with the same error all over again.

## payload_types

GHashTable* janus_ice_peerconnection::payload_types

List of payload types we can expect.

## playoutdelay_ext_id

gint janus_ice_peerconnection::playoutdelay_ext_id

Playout delay extension ID.

## process_started

gboolean janus_ice_peerconnection::process_started

Whether the setup of remote candidates for this component has started or not.

## ref

janus_refcount janus_ice_peerconnection::ref

Reference counter for this instance.

## remb_bitrate

uint32_t janus_ice_peerconnection::remb_bitrate

Latest REMB feedback we received.

## remote_candidates

GSList* janus_ice_peerconnection::remote_candidates

GLib list of remote candidates for this component (summary).

## remote_fingerprint

gchar* janus_ice_peerconnection::remote_fingerprint

Hashed fingerprint of the peer's certificate, as parsed in SDP.

## remote_hashing

gchar* janus_ice_peerconnection::remote_hashing

Hashing algorithm used by the peer for the DTLS certificate (e.g., "SHA-256").

## rid_ext_id

gint janus_ice_peerconnection::rid_ext_id

RTP Stream extension ID, and the related rtx one.

## ridrtx_ext_id

gint janus_ice_peerconnection::ridrtx_ext_id

## rpass

gchar* janus_ice_peerconnection::rpass

The ICE password for this stream.

## rtx_payload_types

GHashTable* janus_ice_peerconnection::rtx_payload_types

Mapping of rtx payload types to actual media-related packet types.

## rtx_payload_types_rev

GHashTable* janus_ice_peerconnection::rtx_payload_types_rev

Reverse mapping of rtx payload types to actual media-related packet types.

## ruser

gchar* janus_ice_peerconnection::ruser

The ICE username for this stream.

## selected_pair

gchar* janus_ice_peerconnection::selected_pair

String representation of the selected pair as notified by libnice (foundations).

## state

guint janus_ice_peerconnection::state

libnice ICE component state

## stream_id

guint janus_ice_peerconnection::stream_id

libnice ICE stream ID

## too_large

volatile gint janus_ice_peerconnection::too_large

Flag to count how many too large packets we discarded, if any.

## transport_wide_cc_cycles

guint16 janus_ice_peerconnection::transport_wide_cc_cycles

Transport wide cc transport seq num wrap cycles.

## transport_wide_cc_ext_id

gint janus_ice_peerconnection::transport_wide_cc_ext_id

Transport wide cc rtp ext ID.

## transport_wide_cc_feedback_count

guint janus_ice_peerconnection::transport_wide_cc_feedback_count

Transport wide cc rtp ext ID.

## transport_wide_cc_last_feedback_seq_num

guint32 janus_ice_peerconnection::transport_wide_cc_last_feedback_seq_num

Last transport wide seq num sent on feedback.

## transport_wide_cc_last_seq_num

guint32 janus_ice_peerconnection::transport_wide_cc_last_seq_num

Last received transport wide seq num.

## transport_wide_cc_out_seq_num

guint16 janus_ice_peerconnection::transport_wide_cc_out_seq_num

Last sent transport wide seq num.

## transport_wide_received_seq_nums

GSList* janus_ice_peerconnection::transport_wide_received_seq_nums

GLib list of transport wide cc stats in reverse received order.

## videolayers_ext_id

gint janus_ice_peerconnection::videolayers_ext_id

Video Layers Allocation ext ID.

## videoorientation_ext_id

gint janus_ice_peerconnection::videoorientation_ext_id

Video orientation extension ID.

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

- ice.h