Fork me on GitHub
Data Fields
janus_ice_stream Struct Reference

Janus ICE stream. More...

#include <ice.h>

Collaboration diagram for janus_ice_stream:
Collaboration graph
[legend]

Data Fields

janus_ice_handlehandle
 Janus ICE handle this stream belongs to. More...
 
guint stream_id
 libnice ICE stream ID More...
 
gint cdone:1
 Whether this stream is ready to be used. More...
 
guint32 audio_ssrc
 Audio SSRC of the server for this stream. More...
 
guint32 video_ssrc
 Video SSRC of the server for this stream. More...
 
guint32 video_ssrc_rtx
 Video retransmission SSRC of the peer for this stream. More...
 
guint32 audio_ssrc_peer
 Audio SSRC of the peer for this stream. More...
 
guint32 audio_ssrc_peer_new
 
guint32 audio_ssrc_peer_orig
 
guint32 video_ssrc_peer [3]
 Video SSRC(s) of the peer for this stream (may be simulcasting) More...
 
guint32 video_ssrc_peer_new [3]
 
guint32 video_ssrc_peer_orig [3]
 
guint32 video_ssrc_peer_temp
 
guint32 video_ssrc_peer_rtx [3]
 Video retransmissions SSRC(s) of the peer for this stream. More...
 
guint32 video_ssrc_peer_rtx_new [3]
 
guint32 video_ssrc_peer_rtx_orig [3]
 
char * rid [3]
 Array of RTP Stream IDs (for Firefox simulcasting, if enabled) More...
 
gboolean legacy_rid
 Whether we should use the legacy simulcast syntax (a=simulcast:recv rid=..) or the proper one (a=simulcast:recv ..) More...
 
janus_rtp_switching_context rtp_ctx [3]
 RTP switching context(s) in case of renegotiations (audio+video and/or simulcast) More...
 
GList * audio_payload_types
 List of payload types we can expect for audio. More...
 
GList * video_payload_types
 List of payload types we can expect for video. More...
 
GHashTable * rtx_payload_types
 Mapping of rtx payload types to actual media-related packet types. More...
 
gint audio_payload_type
 RTP payload types of this stream. More...
 
gint video_payload_type
 
gint video_rtx_payload_type
 
char * audio_codec
 Codecs used by this stream. More...
 
char * video_codec
 
gboolean(* video_is_keyframe )(const char *buffer, int len)
 Pointer to function to check if a packet is a keyframe (depends on negotiated codec) More...
 
gboolean audio_send
 Media direction. More...
 
gboolean audio_recv
 
gboolean video_send
 
gboolean video_recv
 
janus_rtcp_contextaudio_rtcp_ctx
 RTCP context for the audio stream. More...
 
janus_rtcp_contextvideo_rtcp_ctx [3]
 RTCP context(s) for the video stream (may be simulcasting) More...
 
GHashTable * rtx_nacked [3]
 Map(s) of the NACKed packets (to track retransmissions and avoid duplicates) More...
 
gint64 audio_first_ntp_ts
 First received audio NTP timestamp. More...
 
guint32 audio_first_rtp_ts
 First received audio RTP timestamp. More...
 
gint64 video_first_ntp_ts [3]
 First received video NTP timestamp (for all simulcast video streams) More...
 
guint32 video_first_rtp_ts [3]
 First received video NTP RTP timestamp (for all simulcast video streams) More...
 
guint32 audio_last_ts
 Last sent audio RTP timestamp. More...
 
guint32 video_last_ts
 Last sent video RTP timestamp. 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 framemarking_ext_id
 Frame marking extension ID. More...
 
gboolean do_transport_wide_cc
 Whether we do transport wide cc for video. More...
 
gint transport_wide_cc_ext_id
 Transport wide cc rtp ext ID. 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...
 
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 * components
 GLib hash table of components (IDs are the keys) More...
 
janus_ice_componentcomponent
 ICE component. 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 ICE stream.

Field Documentation

char* janus_ice_stream::audio_codec

Codecs used by this stream.

gint64 janus_ice_stream::audio_first_ntp_ts

First received audio NTP timestamp.

guint32 janus_ice_stream::audio_first_rtp_ts

First received audio RTP timestamp.

guint32 janus_ice_stream::audio_last_ts

Last sent audio RTP timestamp.

gint janus_ice_stream::audio_payload_type

RTP payload types of this stream.

GList* janus_ice_stream::audio_payload_types

List of payload types we can expect for audio.

gboolean janus_ice_stream::audio_recv
janus_rtcp_context* janus_ice_stream::audio_rtcp_ctx

RTCP context for the audio stream.

gboolean janus_ice_stream::audio_send

Media direction.

guint32 janus_ice_stream::audio_ssrc

Audio SSRC of the server for this stream.

guint32 janus_ice_stream::audio_ssrc_peer

Audio SSRC of the peer for this stream.

guint32 janus_ice_stream::audio_ssrc_peer_new
guint32 janus_ice_stream::audio_ssrc_peer_orig
gint janus_ice_stream::cdone

Whether this stream is ready to be used.

janus_ice_component* janus_ice_stream::component

ICE component.

GHashTable* janus_ice_stream::components

GLib hash table of components (IDs are the keys)

volatile gint janus_ice_stream::destroyed

Atomic flag to check if this instance has been destroyed.

gboolean janus_ice_stream::do_transport_wide_cc

Whether we do transport wide cc for video.

janus_dtls_role janus_ice_stream::dtls_role

DTLS role of the server for this stream.

gint janus_ice_stream::framemarking_ext_id

Frame marking extension ID.

janus_ice_handle* janus_ice_stream::handle

Janus ICE handle this stream belongs to.

gboolean janus_ice_stream::legacy_rid

Whether we should use the legacy simulcast syntax (a=simulcast:recv rid=..) or the proper one (a=simulcast:recv ..)

gint janus_ice_stream::mid_ext_id

SDES mid RTP extension ID.

janus_mutex janus_ice_stream::mutex

Mutex to lock/unlock this stream.

gboolean janus_ice_stream::noerrorlog

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

janus_refcount janus_ice_stream::ref

Reference counter for this instance.

gchar* janus_ice_stream::remote_fingerprint

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

gchar* janus_ice_stream::remote_hashing

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

char* janus_ice_stream::rid[3]

Array of RTP Stream IDs (for Firefox simulcasting, if enabled)

gint janus_ice_stream::rid_ext_id

RTP Stream extension ID, and the related rtx one.

gint janus_ice_stream::ridrtx_ext_id
gchar* janus_ice_stream::rpass

The ICE password for this stream.

janus_rtp_switching_context janus_ice_stream::rtp_ctx[3]

RTP switching context(s) in case of renegotiations (audio+video and/or simulcast)

GHashTable* janus_ice_stream::rtx_nacked[3]

Map(s) of the NACKed packets (to track retransmissions and avoid duplicates)

GHashTable* janus_ice_stream::rtx_payload_types

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

gchar* janus_ice_stream::ruser

The ICE username for this stream.

guint janus_ice_stream::stream_id

libnice ICE stream ID

guint16 janus_ice_stream::transport_wide_cc_cycles

Transport wide cc transport seq num wrap cycles.

gint janus_ice_stream::transport_wide_cc_ext_id

Transport wide cc rtp ext ID.

guint janus_ice_stream::transport_wide_cc_feedback_count

Transport wide cc rtp ext ID.

guint32 janus_ice_stream::transport_wide_cc_last_feedback_seq_num

Last transport wide seq num sent on feedback.

guint32 janus_ice_stream::transport_wide_cc_last_seq_num

Last received transport wide seq num.

GSList* janus_ice_stream::transport_wide_received_seq_nums

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

char * janus_ice_stream::video_codec
gint64 janus_ice_stream::video_first_ntp_ts[3]

First received video NTP timestamp (for all simulcast video streams)

guint32 janus_ice_stream::video_first_rtp_ts[3]

First received video NTP RTP timestamp (for all simulcast video streams)

gboolean(* janus_ice_stream::video_is_keyframe) (const char *buffer, int len)

Pointer to function to check if a packet is a keyframe (depends on negotiated codec)

guint32 janus_ice_stream::video_last_ts

Last sent video RTP timestamp.

gint janus_ice_stream::video_payload_type
GList* janus_ice_stream::video_payload_types

List of payload types we can expect for video.

gboolean janus_ice_stream::video_recv
janus_rtcp_context* janus_ice_stream::video_rtcp_ctx[3]

RTCP context(s) for the video stream (may be simulcasting)

gint janus_ice_stream::video_rtx_payload_type
gboolean janus_ice_stream::video_send
guint32 janus_ice_stream::video_ssrc

Video SSRC of the server for this stream.

guint32 janus_ice_stream::video_ssrc_peer[3]

Video SSRC(s) of the peer for this stream (may be simulcasting)

guint32 janus_ice_stream::video_ssrc_peer_new[3]
guint32 janus_ice_stream::video_ssrc_peer_orig[3]
guint32 janus_ice_stream::video_ssrc_peer_rtx[3]

Video retransmissions SSRC(s) of the peer for this stream.

guint32 janus_ice_stream::video_ssrc_peer_rtx_new[3]
guint32 janus_ice_stream::video_ssrc_peer_rtx_orig[3]
guint32 janus_ice_stream::video_ssrc_peer_temp
guint32 janus_ice_stream::video_ssrc_rtx

Video retransmission SSRC of the peer for this stream.


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