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)