Janus ICE stream. More...
#include <ice.h>
Data Fields | |
janus_ice_handle * | handle |
Janus ICE handle this stream belongs to. | |
guint | stream_id |
libnice ICE stream ID | |
gboolean | cdone |
Whether this stream is ready to be used. | |
gint64 | gathered |
Monotonic time of when gathering has completed. | |
guint32 | audio_ssrc |
Audio SSRC of the server for this stream. | |
guint32 | video_ssrc |
Video SSRC of the server for this stream. | |
guint32 | video_ssrc_rtx |
Video retransmission SSRC of the peer for this stream. | |
guint32 | audio_ssrc_peer |
Audio SSRC of the peer for this stream. | |
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) | |
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. | |
guint32 | video_ssrc_peer_rtx_new [3] |
guint32 | video_ssrc_peer_rtx_orig [3] |
char * | rid [3] |
Array of RTP Stream IDs (for simulcasting, if enabled) | |
gboolean | disabled_rid [3] |
Which simulcast rids are currently disabled, as per the latest negotiation. | |
gboolean | rids_hml |
Whether the order of the rids in the SDP will be h-m-l (TRUE) or l-m-h (FALSE) | |
gboolean | legacy_rid |
Whether we should use the legacy simulcast syntax (a=simulcast:recv rid=..) or the proper one (a=simulcast:recv ..) | |
janus_rtp_switching_context | rtp_ctx [3] |
RTP switching context(s) in case of renegotiations (audio+video and/or simulcast) | |
GList * | audio_payload_types |
List of payload types we can expect for audio. | |
GList * | video_payload_types |
List of payload types we can expect for video. | |
GHashTable * | rtx_payload_types |
Mapping of rtx payload types to actual media-related packet types. | |
int | opusred_pt |
opus/red payload type, if enabled | |
GHashTable * | clock_rates |
Mapping of payload types to their clock rates, as advertised in the SDP. | |
gint | audio_payload_type |
RTP payload types of this stream. | |
gint | video_payload_type |
gint | video_rtx_payload_type |
char * | audio_codec |
Codecs used by this stream. | |
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) | |
gboolean | audio_send |
Media direction. | |
gboolean | audio_recv |
gboolean | video_send |
gboolean | video_recv |
janus_rtcp_context * | audio_rtcp_ctx |
RTCP context for the audio stream. | |
janus_rtcp_context * | video_rtcp_ctx [3] |
RTCP context(s) for the video stream (may be simulcasting) | |
uint32_t | remb_bitrate |
Latest REMB feedback we received. | |
uint16_t | nack_queue_ms |
Size of the NACK queue (in ms), dynamically updated per the RTT. | |
GHashTable * | rtx_nacked [3] |
Map(s) of the NACKed packets (to track retransmissions and avoid duplicates) | |
GHashTable * | pending_nacked_cleanup |
Map of the pending NACKed cleanup callback. | |
gint64 | audio_first_ntp_ts |
First received audio NTP timestamp. | |
guint32 | audio_first_rtp_ts |
First received audio RTP timestamp. | |
gint64 | video_first_ntp_ts [3] |
First received video NTP timestamp (for all simulcast video streams) | |
guint32 | video_first_rtp_ts [3] |
First received video NTP RTP timestamp (for all simulcast video streams) | |
gint64 | audio_last_ntp_ts |
Last sent audio NTP timestamp. | |
guint32 | audio_last_rtp_ts |
Last sent audio RTP timestamp. | |
gint64 | video_last_ntp_ts |
Last sent video NTP timestamp. | |
guint32 | video_last_rtp_ts |
Last sent video RTP timestamp. | |
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. | |
gboolean | do_transport_wide_cc |
Whether we do transport wide cc for video. | |
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. | |
janus_dtls_role | dtls_role |
DTLS role of the server for this stream. | |
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 * | components |
GLib hash table of components (IDs are the keys) | |
janus_ice_component * | component |
ICE component. | |
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. | |
Janus ICE stream.
gint janus_ice_stream::abs_send_time_ext_id |
Absolute Send Time ext ID.
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.
gboolean 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)
gint janus_ice_stream::dependencydesc_ext_id |
Dependency descriptor extension ID.
volatile gint janus_ice_stream::destroyed |
Atomic flag to check if this instance has been destroyed.
gboolean janus_ice_stream::disabled_rid[3] |
Which simulcast rids are currently disabled, as per the latest negotiation.
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.
gint64 janus_ice_stream::gathered |
Monotonic time of when gathering has completed.
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.
int janus_ice_stream::opusred_pt |
opus/red payload type, if enabled
GHashTable* janus_ice_stream::pending_nacked_cleanup |
Map of the pending NACKed cleanup callback.
gint janus_ice_stream::playoutdelay_ext_id |
Playout delay extension ID.
janus_refcount janus_ice_stream::ref |
Reference counter for this instance.
uint32_t janus_ice_stream::remb_bitrate |
Latest REMB feedback we received.
gchar* janus_ice_stream::remote_fingerprint |
Hashed fingerprint of the peer's certificate, as parsed in SDP.
gchar* janus_ice_stream::remote_hashing |
Hashing algorithm used by the peer for the DTLS certificate (e.g., "SHA-256")
char* janus_ice_stream::rid[3] |
Array of RTP Stream IDs (for 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 |
gboolean janus_ice_stream::rids_hml |
Whether the order of the rids in the SDP will be h-m-l (TRUE) or l-m-h (FALSE)
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.