A single media in a PeerConnection. More...
#include <ice.h>
Data Fields | |
janus_ice_peerconnection * | pc |
WebRTC PeerConnection this m-line belongs to. | |
janus_media_type | type |
Type of this medium. | |
int | mindex |
Index of this medium in the media list. | |
char * | mid |
Media ID. | |
char * | msid |
Media Stream ID info. | |
char * | mstid |
char * | remote_msid |
char * | remote_mstid |
guint32 | ssrc |
SSRC of the server for this medium. | |
guint32 | ssrc_rtx |
Retransmission SSRC of the server for this medium. | |
guint32 | ssrc_peer [3] |
SSRC(s) of the peer for this medium (may be simulcasting) | |
guint32 | ssrc_peer_new [3] |
guint32 | ssrc_peer_orig [3] |
guint32 | ssrc_peer_temp |
guint32 | ssrc_peer_rtx [3] |
Retransmissions SSRC(s) of the peer for this medium (may be simulcasting) | |
guint32 | ssrc_peer_rtx_new [3] |
guint32 | 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 * | payload_types |
List of payload types we can expect. | |
int | opusred_pt |
opus/red payload type, if enabled | |
GHashTable * | rtx_payload_types |
Mapping of rtx payload types to actual media-related packet types. | |
GHashTable * | clock_rates |
Mapping of payload types to their clock rates, as advertised in the SDP. | |
gint | payload_type |
RTP payload types for this medium. | |
gint | rtx_payload_type |
char * | codec |
Codec used in this medium. | |
gboolean(* | video_is_keyframe )(const char *buffer, int len) |
Pointer to function to check if a packet is a keyframe (depends on negotiated codec; video only) | |
gboolean | send |
Media direction. | |
gboolean | recv |
janus_rtcp_context * | rtcp_ctx [3] |
RTCP context(s) for the medium (may be simulcasting) | |
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 | first_ntp_ts [3] |
First received NTP timestamp. | |
guint32 | first_rtp_ts [3] |
First received RTP timestamp. | |
gint64 | last_ntp_ts |
Last sent NTP timestamp. | |
guint32 | last_rtp_ts |
Last sent RTP timestamp. | |
gboolean | do_nacks |
Whether we should do NACKs (in or out) for this medium. | |
GQueue * | retransmit_buffer |
List of previously sent janus_rtp_packet RTP packets, in case we receive NACKs. | |
GHashTable * | retransmit_seqs |
HashTable of retransmittable sequence numbers, in case we receive NACKs. | |
guint16 | rtx_seq_number |
Current sequence number for the RFC4588 rtx SSRC session. | |
gint64 | retransmit_log_ts |
Last time a log message about sending retransmits was printed. | |
guint | retransmit_recent_cnt |
Number of retransmitted packets since last log message. | |
gint64 | nack_sent_log_ts |
Last time a log message about sending NACKs was printed. | |
guint | nack_sent_recent_cnt |
Number of NACKs sent since last log message. | |
janus_seq_info * | last_seqs [3] |
List of recently received sequence numbers (as a support to NACK generation, for each simulcast SSRC) | |
janus_ice_stats | in_stats |
Stats for incoming data (audio/video/data) | |
janus_ice_stats | out_stats |
Stats for outgoing data (audio/video/data) | |
gboolean | noerrorlog |
Helper flag to avoid flooding the console with the same error all over again. | |
janus_mutex | mutex |
Mutex to lock/unlock this medium. | |
volatile gint | destroyed |
Atomic flag to check if this instance has been destroyed. | |
janus_refcount | ref |
Reference counter for this instance. | |
A single media in a PeerConnection.
GHashTable* janus_ice_peerconnection_medium::clock_rates |
Mapping of payload types to their clock rates, as advertised in the SDP.
char* janus_ice_peerconnection_medium::codec |
Codec used in this medium.
volatile gint janus_ice_peerconnection_medium::destroyed |
Atomic flag to check if this instance has been destroyed.
gboolean janus_ice_peerconnection_medium::disabled_rid[3] |
Which simulcast rids are currently disabled, as per the latest negotiation.
gboolean janus_ice_peerconnection_medium::do_nacks |
Whether we should do NACKs (in or out) for this medium.
gint64 janus_ice_peerconnection_medium::first_ntp_ts[3] |
First received NTP timestamp.
guint32 janus_ice_peerconnection_medium::first_rtp_ts[3] |
First received RTP timestamp.
janus_ice_stats janus_ice_peerconnection_medium::in_stats |
Stats for incoming data (audio/video/data)
gint64 janus_ice_peerconnection_medium::last_ntp_ts |
Last sent NTP timestamp.
guint32 janus_ice_peerconnection_medium::last_rtp_ts |
Last sent RTP timestamp.
janus_seq_info* janus_ice_peerconnection_medium::last_seqs[3] |
List of recently received sequence numbers (as a support to NACK generation, for each simulcast SSRC)
gboolean janus_ice_peerconnection_medium::legacy_rid |
Whether we should use the legacy simulcast syntax (a=simulcast:recv rid=..) or the proper one (a=simulcast:recv ..)
char* janus_ice_peerconnection_medium::mid |
Media ID.
int janus_ice_peerconnection_medium::mindex |
Index of this medium in the media list.
char* janus_ice_peerconnection_medium::msid |
Media Stream ID info.
char * janus_ice_peerconnection_medium::mstid |
janus_mutex janus_ice_peerconnection_medium::mutex |
Mutex to lock/unlock this medium.
uint16_t janus_ice_peerconnection_medium::nack_queue_ms |
Size of the NACK queue (in ms), dynamically updated per the RTT.
gint64 janus_ice_peerconnection_medium::nack_sent_log_ts |
Last time a log message about sending NACKs was printed.
guint janus_ice_peerconnection_medium::nack_sent_recent_cnt |
Number of NACKs sent since last log message.
gboolean janus_ice_peerconnection_medium::noerrorlog |
Helper flag to avoid flooding the console with the same error all over again.
int janus_ice_peerconnection_medium::opusred_pt |
opus/red payload type, if enabled
janus_ice_stats janus_ice_peerconnection_medium::out_stats |
Stats for outgoing data (audio/video/data)
gint janus_ice_peerconnection_medium::payload_type |
RTP payload types for this medium.
GList* janus_ice_peerconnection_medium::payload_types |
List of payload types we can expect.
janus_ice_peerconnection* janus_ice_peerconnection_medium::pc |
WebRTC PeerConnection this m-line belongs to.
GHashTable* janus_ice_peerconnection_medium::pending_nacked_cleanup |
Map of the pending NACKed cleanup callback.
gboolean janus_ice_peerconnection_medium::recv |
janus_refcount janus_ice_peerconnection_medium::ref |
Reference counter for this instance.
char * janus_ice_peerconnection_medium::remote_msid |
char * janus_ice_peerconnection_medium::remote_mstid |
GQueue* janus_ice_peerconnection_medium::retransmit_buffer |
List of previously sent janus_rtp_packet RTP packets, in case we receive NACKs.
gint64 janus_ice_peerconnection_medium::retransmit_log_ts |
Last time a log message about sending retransmits was printed.
guint janus_ice_peerconnection_medium::retransmit_recent_cnt |
Number of retransmitted packets since last log message.
GHashTable* janus_ice_peerconnection_medium::retransmit_seqs |
HashTable of retransmittable sequence numbers, in case we receive NACKs.
char* janus_ice_peerconnection_medium::rid[3] |
Array of RTP Stream IDs (for simulcasting, if enabled)
gboolean janus_ice_peerconnection_medium::rids_hml |
Whether the order of the rids in the SDP will be h-m-l (TRUE) or l-m-h (FALSE)
janus_rtcp_context* janus_ice_peerconnection_medium::rtcp_ctx[3] |
RTCP context(s) for the medium (may be simulcasting)
janus_rtp_switching_context janus_ice_peerconnection_medium::rtp_ctx[3] |
RTP switching context(s) in case of renegotiations (audio+video and/or simulcast)
GHashTable* janus_ice_peerconnection_medium::rtx_nacked[3] |
Map(s) of the NACKed packets (to track retransmissions and avoid duplicates)
gint janus_ice_peerconnection_medium::rtx_payload_type |
GHashTable* janus_ice_peerconnection_medium::rtx_payload_types |
Mapping of rtx payload types to actual media-related packet types.
guint16 janus_ice_peerconnection_medium::rtx_seq_number |
Current sequence number for the RFC4588 rtx SSRC session.
gboolean janus_ice_peerconnection_medium::send |
Media direction.
guint32 janus_ice_peerconnection_medium::ssrc |
SSRC of the server for this medium.
guint32 janus_ice_peerconnection_medium::ssrc_peer[3] |
SSRC(s) of the peer for this medium (may be simulcasting)
guint32 janus_ice_peerconnection_medium::ssrc_peer_new[3] |
guint32 janus_ice_peerconnection_medium::ssrc_peer_orig[3] |
guint32 janus_ice_peerconnection_medium::ssrc_peer_rtx[3] |
Retransmissions SSRC(s) of the peer for this medium (may be simulcasting)
guint32 janus_ice_peerconnection_medium::ssrc_peer_rtx_new[3] |
guint32 janus_ice_peerconnection_medium::ssrc_peer_rtx_orig[3] |
guint32 janus_ice_peerconnection_medium::ssrc_peer_temp |
guint32 janus_ice_peerconnection_medium::ssrc_rtx |
Retransmission SSRC of the server for this medium.
janus_media_type janus_ice_peerconnection_medium::type |
Type of this medium.
gboolean(* janus_ice_peerconnection_medium::video_is_keyframe) (const char *buffer, int len) |
Pointer to function to check if a packet is a keyframe (depends on negotiated codec; video only)