Fork me on GitHub
Loading...
Searching...
No Matches
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.
 
guint stream_id
 libnice ICE stream ID
 
guint component_id
 libnice ICE component ID
 
gint cdone:1
 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_srtpdtls
 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.
 
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 algorhitm 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.
 
gboolean noerrorlog
 Helper flag to avoid flooding the console with the same error all over again.
 
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

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

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

◆ 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

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