Fork me on GitHub
Data Fields
janus_ice_peerconnection Struct Reference

Janus handle WebRTC PeerConnection. More...

#include <ice.h>

Collaboration diagram for janus_ice_peerconnection:
Collaboration graph
[legend]

Data Fields

janus_ice_handlehandle
 Janus ICE handle this stream belongs to. More...
 
guint stream_id
 libnice ICE stream ID More...
 
guint component_id
 libnice ICE component ID More...
 
gint cdone:1
 Whether this stream is ready to be used. More...
 
guint state
 libnice ICE component state More...
 
gint64 connected
 Monotonic time of when ICE has successfully connected. More...
 
GSList * candidates
 GLib list of libnice remote candidates for this component. More...
 
GSList * local_candidates
 GLib list of local candidates for this component (summary) More...
 
GSList * remote_candidates
 GLib list of remote candidates for this component (summary) More...
 
gchar * selected_pair
 String representation of the selected pair as notified by libnice (foundations) More...
 
gboolean process_started
 Whether the setup of remote candidates for this component has started or not. More...
 
GSource * icestate_source
 Timer to check when we should consider ICE as failed. More...
 
gint64 icefailed_detected
 Time of when we first detected an ICE failed (we'll need this for the timer above) More...
 
GSource * dtlsrt_source
 Re-transmission timer for DTLS. More...
 
janus_dtls_srtpdtls
 DTLS-SRTP stack. More...
 
gint mid_ext_id
 SDES mid RTP extension ID. More...
 
gint rid_ext_id
 RTP Stream extension ID, and the related rtx one. More...
 
gint ridrtx_ext_id
 
gint audiolevel_ext_id
 Audio levels extension ID. More...
 
gint videoorientation_ext_id
 Video orientation extension ID. More...
 
gint framemarking_ext_id
 Frame marking extension ID. More...
 
gboolean do_transport_wide_cc
 Whether we do transport wide cc. More...
 
gint transport_wide_cc_ext_id
 Transport wide cc rtp ext ID. More...
 
guint16 transport_wide_cc_out_seq_num
 Last sent transport wide seq num. More...
 
guint32 transport_wide_cc_last_seq_num
 Last received transport wide seq num. More...
 
guint32 transport_wide_cc_last_feedback_seq_num
 Last transport wide seq num sent on feedback. More...
 
guint16 transport_wide_cc_cycles
 Transport wide cc transport seq num wrap cycles. More...
 
guint transport_wide_cc_feedback_count
 Transport wide cc rtp ext ID. More...
 
GSList * transport_wide_received_seq_nums
 GLib list of transport wide cc stats in reverse received order. More...
 
janus_dtls_role dtls_role
 DTLS role of the server for this stream. More...
 
janus_ice_stats dtls_in_stats
 Data exchanged for DTLS handshakes and messages. More...
 
janus_ice_stats dtls_out_stats
 
gchar * remote_hashing
 Hashing algorhitm used by the peer for the DTLS certificate (e.g., "SHA-256") More...
 
gchar * remote_fingerprint
 Hashed fingerprint of the peer's certificate, as parsed in SDP. More...
 
gchar * ruser
 The ICE username for this stream. More...
 
gchar * rpass
 The ICE password for this stream. More...
 
GHashTable * media
 GLib hash table of media (m-line indexes are the keys) More...
 
GHashTable * media_byssrc
 GLib hash table of media (SSRCs are the keys) More...
 
GHashTable * media_bymid
 GLib hash table of media (mids are the keys) More...
 
GHashTable * media_bytype
 GLib hash table of media (media types are the keys) More...
 
gboolean noerrorlog
 Helper flag to avoid flooding the console with the same error all over again. More...
 
janus_mutex mutex
 Mutex to lock/unlock this stream. More...
 
volatile gint destroyed
 Atomic flag to check if this instance has been destroyed. More...
 
janus_refcount ref
 Reference counter for this instance. More...
 

Detailed Description

Janus handle WebRTC PeerConnection.

Field Documentation

◆ 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

gint janus_ice_peerconnection::cdone

Whether this stream is ready to be used.

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

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

◆ framemarking_ext_id

gint janus_ice_peerconnection::framemarking_ext_id

Frame marking extension ID.

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

◆ noerrorlog

gboolean janus_ice_peerconnection::noerrorlog

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

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

◆ 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 algorhitm 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.

◆ 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

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

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