A single media in a PeerConnection. More...
#include <ice.h>
Data Fields | |
janus_handle_webrtc * | pc |
WebRTC PeerConnection this m-line belongs to. More... | |
janus_media_type | type |
Type of this medium. More... | |
int | mindex |
Index of this medium in the media list. More... | |
char * | mid |
Media ID. More... | |
guint32 | ssrc |
SSRC of the server for this medium. More... | |
guint32 | ssrc_rtx |
Retransmission SSRC of the server for this medium. More... | |
guint32 | ssrc_peer [3] |
SSRC(s) of the peer for this medium (may be simulcasting) More... | |
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) More... | |
guint32 | ssrc_peer_rtx_new [3] |
guint32 | 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 * | payload_types |
List of payload types we can expect. More... | |
GHashTable * | rtx_payload_types |
Mapping of rtx payload types to actual media-related packet types. More... | |
gint | payload_type |
RTP payload types for this medium. More... | |
gint | rtx_payload_type |
char * | codec |
Codec used in this medium. More... | |
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) More... | |
gboolean | send |
Media direction. More... | |
gboolean | recv |
janus_rtcp_context * | rtcp_ctx [3] |
RTCP context(s) for the medium (may be simulcasting) More... | |
GHashTable * | rtx_nacked [3] |
Map(s) of the NACKed packets (to track retransmissions and avoid duplicates) More... | |
gint64 | first_ntp_ts [3] |
First received NTP timestamp. More... | |
guint32 | first_rtp_ts [3] |
First received RTP timestamp. More... | |
guint32 | last_ts |
Last sent RTP timestamp. More... | |
gboolean | do_nacks |
Whether we should do NACKs (in or out) for this medium. More... | |
GQueue * | retransmit_buffer |
List of previously sent janus_rtp_packet RTP packets, in case we receive NACKs. More... | |
GHashTable * | retransmit_seqs |
HashTable of retransmittable sequence numbers, in case we receive NACKs. More... | |
guint16 | rtx_seq_number |
Current sequence number for the RFC4588 rtx SSRC session. More... | |
gint64 | retransmit_log_ts |
Last time a log message about sending retransmits was printed. More... | |
guint | retransmit_recent_cnt |
Number of retransmitted packets since last log message. More... | |
gint64 | nack_sent_log_ts |
Last time a log message about sending NACKs was printed. More... | |
guint | nack_sent_recent_cnt |
Number of NACKs sent since last log message. More... | |
janus_seq_info * | last_seqs [3] |
List of recently received sequence numbers (as a support to NACK generation, for each simulcast SSRC if needed) More... | |
janus_media_stats | in_stats |
Stats for incoming data. More... | |
janus_media_stats | out_stats |
Stats for outgoing data. 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 medium. More... | |
volatile gint | destroyed |
Atomic flag to check if this instance has been destroyed. More... | |
janus_refcount | ref |
Reference counter for this instance. More... | |
A single media in a PeerConnection.
char* janus_handle_webrtc_medium::codec |
Codec used in this medium.
volatile gint janus_handle_webrtc_medium::destroyed |
Atomic flag to check if this instance has been destroyed.
gboolean janus_handle_webrtc_medium::do_nacks |
Whether we should do NACKs (in or out) for this medium.
gint64 janus_handle_webrtc_medium::first_ntp_ts[3] |
First received NTP timestamp.
guint32 janus_handle_webrtc_medium::first_rtp_ts[3] |
First received RTP timestamp.
janus_media_stats janus_handle_webrtc_medium::in_stats |
Stats for incoming data.
janus_seq_info* janus_handle_webrtc_medium::last_seqs[3] |
List of recently received sequence numbers (as a support to NACK generation, for each simulcast SSRC if needed)
guint32 janus_handle_webrtc_medium::last_ts |
Last sent RTP timestamp.
gboolean janus_handle_webrtc_medium::legacy_rid |
Whether we should use the legacy simulcast syntax (a=simulcast:recv rid=..) or the proper one (a=simulcast:recv ..)
char* janus_handle_webrtc_medium::mid |
Media ID.
int janus_handle_webrtc_medium::mindex |
Index of this medium in the media list.
janus_mutex janus_handle_webrtc_medium::mutex |
Mutex to lock/unlock this medium.
gint64 janus_handle_webrtc_medium::nack_sent_log_ts |
Last time a log message about sending NACKs was printed.
guint janus_handle_webrtc_medium::nack_sent_recent_cnt |
Number of NACKs sent since last log message.
gboolean janus_handle_webrtc_medium::noerrorlog |
Helper flag to avoid flooding the console with the same error all over again.
janus_media_stats janus_handle_webrtc_medium::out_stats |
Stats for outgoing data.
gint janus_handle_webrtc_medium::payload_type |
RTP payload types for this medium.
GList* janus_handle_webrtc_medium::payload_types |
List of payload types we can expect.
janus_handle_webrtc* janus_handle_webrtc_medium::pc |
WebRTC PeerConnection this m-line belongs to.
gboolean janus_handle_webrtc_medium::recv |
janus_refcount janus_handle_webrtc_medium::ref |
Reference counter for this instance.
GQueue* janus_handle_webrtc_medium::retransmit_buffer |
List of previously sent janus_rtp_packet RTP packets, in case we receive NACKs.
gint64 janus_handle_webrtc_medium::retransmit_log_ts |
Last time a log message about sending retransmits was printed.
guint janus_handle_webrtc_medium::retransmit_recent_cnt |
Number of retransmitted packets since last log message.
GHashTable* janus_handle_webrtc_medium::retransmit_seqs |
HashTable of retransmittable sequence numbers, in case we receive NACKs.
char* janus_handle_webrtc_medium::rid[3] |
Array of RTP Stream IDs (for Firefox simulcasting, if enabled)
janus_rtcp_context* janus_handle_webrtc_medium::rtcp_ctx[3] |
RTCP context(s) for the medium (may be simulcasting)
janus_rtp_switching_context janus_handle_webrtc_medium::rtp_ctx[3] |
RTP switching context(s) in case of renegotiations (audio+video and/or simulcast)
GHashTable* janus_handle_webrtc_medium::rtx_nacked[3] |
Map(s) of the NACKed packets (to track retransmissions and avoid duplicates)
gint janus_handle_webrtc_medium::rtx_payload_type |
GHashTable* janus_handle_webrtc_medium::rtx_payload_types |
Mapping of rtx payload types to actual media-related packet types.
guint16 janus_handle_webrtc_medium::rtx_seq_number |
Current sequence number for the RFC4588 rtx SSRC session.
gboolean janus_handle_webrtc_medium::send |
Media direction.
guint32 janus_handle_webrtc_medium::ssrc |
SSRC of the server for this medium.
guint32 janus_handle_webrtc_medium::ssrc_peer[3] |
SSRC(s) of the peer for this medium (may be simulcasting)
guint32 janus_handle_webrtc_medium::ssrc_peer_new[3] |
guint32 janus_handle_webrtc_medium::ssrc_peer_orig[3] |
guint32 janus_handle_webrtc_medium::ssrc_peer_rtx[3] |
Retransmissions SSRC(s) of the peer for this medium (may be simulcasting)
guint32 janus_handle_webrtc_medium::ssrc_peer_rtx_new[3] |
guint32 janus_handle_webrtc_medium::ssrc_peer_rtx_orig[3] |
guint32 janus_handle_webrtc_medium::ssrc_peer_temp |
guint32 janus_handle_webrtc_medium::ssrc_rtx |
Retransmission SSRC of the server for this medium.
janus_media_type janus_handle_webrtc_medium::type |
Type of this medium.
gboolean(* janus_handle_webrtc_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)