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.