Janus ICE stream. More...
#include <ice.h>
Data Fields | |
janus_ice_handle * | handle |
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... | |
GHashTable * | clock_rates |
Mapping of payload types to their clock rates, as advertised in the SDP. 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_context * | audio_rtcp_ctx |
RTCP context for the audio stream. More... | |
janus_rtcp_context * | video_rtcp_ctx [3] |
RTCP context(s) for the video stream (may be simulcasting) More... | |
uint16_t | nack_queue_ms |
Size of the NACK queue (in ms), dynamically updated per the RTT. More... | |
GHashTable * | rtx_nacked [3] |
Map(s) of the NACKed packets (to track retransmissions and avoid duplicates) More... | |
GHashTable * | pending_nacked_cleanup |
Map of the pending NACKed cleanup callback. 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... | |
gint64 | audio_last_ntp_ts |
Last sent audio NTP timestamp. More... | |
guint32 | audio_last_rtp_ts |
Last sent audio RTP timestamp. More... | |
gint64 | video_last_ntp_ts |
Last sent video NTP timestamp. More... | |
guint32 | video_last_rtp_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 | 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 for video. 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... | |
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_component * | component |
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... | |
Janus ICE stream.
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.
gint64 janus_ice_stream::audio_last_ntp_ts |
Last sent audio NTP timestamp.
guint32 janus_ice_stream::audio_last_rtp_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::audiolevel_ext_id |
Audio levels extension ID.
gint janus_ice_stream::cdone |
Whether this stream is ready to be used.
GHashTable* janus_ice_stream::clock_rates |
Mapping of payload types to their clock rates, as advertised in the SDP.
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.
uint16_t janus_ice_stream::nack_queue_ms |
Size of the NACK queue (in ms), dynamically updated per the RTT.
gboolean janus_ice_stream::noerrorlog |
Helper flag to avoid flooding the console with the same error all over again.
GHashTable* janus_ice_stream::pending_nacked_cleanup |
Map of the pending NACKed cleanup callback.
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.
guint16 janus_ice_stream::transport_wide_cc_out_seq_num |
Last sent 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)
gint64 janus_ice_stream::video_last_ntp_ts |
Last sent video NTP timestamp.
guint32 janus_ice_stream::video_last_rtp_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.
gint janus_ice_stream::videoorientation_ext_id |
Video orientation extension ID.