pub struct RtcOutboundRtpStreamStats {Show 14 fields
pub sent_stream: RtcSentRtpStreamStats,
pub media_specific: OutboundRtpMediaType,
pub mid: Option<String>,
pub media_source_id: Option<String>,
pub remote_id: Option<String>,
pub header_bytes_sent: Option<u64>,
pub retransmitted_packets_sent: Option<u64>,
pub retransmitted_bytes_sent: Option<u64>,
pub rtx_ssrc: Option<u32>,
pub target_bitrate: Option<Double>,
pub total_packet_send_delay: Option<Double>,
pub nack_count: Option<u32>,
pub active: Option<bool>,
pub packets_sent_with_ect1: Option<u64>,
}Expand description
Measurement metrics for the outgoing RTP stream.
The timestamp reported in the statistics object is the time at which the data was sampled.
Fields§
§sent_stream: RtcSentRtpStreamStatsGeneric egress RTP stream data.
media_specific: OutboundRtpMediaTypeMedia kind specific part of these RtcOutboundRtpStreamStats.
mid: Option<String>mid value of the RTCRtpTransceiver owning this stream.
If the RTCRtpTransceiver owning this stream has a mid value that
is not null, this is that value, otherwise this member MUST NOT be
present.
media_source_id: Option<String>Identifier of the stats object representing the track currently attached
to the sender of this stream, an RtcMediaSourceStats.
remote_id: Option<String>Identifier for looking up the remote RtcRemoteInboundRtpStreamStats
object for the same SSRC.
header_bytes_sent: Option<u64>Total number of RTP header and padding bytes sent for this SSRC.
This does not include the size of transport layer headers such as IP or UDP.
header_bytes_sent + RtcSentRtpStreamStats::bytes_sent equals the
number of bytes sent as payload over the transport.
retransmitted_packets_sent: Option<u64>Total number of packets that were retransmitted for this SSRC.
This is a subset of the RtcSentRtpStreamStats::packets_sent.
If RTX is not negotiated, retransmitted packets are sent over this SSRC.
If RTX was negotiated, retransmitted packets are sent over a separate SSRC but is still accounted for here.
retransmitted_bytes_sent: Option<u64>Total number of bytes that were retransmitted for this SSRC, only including payload bytes.
This is a subset of RtcSentRtpStreamStats::bytes_sent.
If RTX is not negotiated, retransmitted bytes are sent over this SSRC.
If RTX was negotiated, retransmitted bytes are sent over a separate SSRC but is still accounted for here.
rtx_ssrc: Option<u32>SSRC of the RTX stream that is associated with this stream’s SSRC.
If RTX is negotiated for retransmissions on a separate RTP stream, this is the SSRC of the RTX stream that is associated with this stream’s SSRC.
If RTX is not negotiated, this value MUST NOT be present.
target_bitrate: Option<Double>Current encoder target in bits per second.
The target is an instantaneous value reflecting the encoder’s settings, but the resulting payload bytes sent per second, excluding retransmissions, SHOULD closely correlate to the target.
See also the RtcSentRtpStreamStats::bytes_sent and the
retransmitted_bytes_sent.
This is defined in the same way as the “TIAS” bitrate RFC3890.
total_packet_send_delay: Option<Double>Total number of seconds that packets have spent buffered locally before being transmitted onto the network.
The time is measured from when a packet is emitted from the RTP
packetizer until it is handed over to the OS network socket. This
measurement is added to total_packet_send_delay when
RtcSentRtpStreamStats::packets_sent is incremented.
nack_count: Option<u32>Total number of Negative ACKnowledgement (NACK) packets, as defined in RFC4585 Section 6.2.1, received by this sender.
active: Option<bool>Indicates whether this RTP stream is configured to be sent or disabled.
Note that an active stream can still not be sending, e.g. when being limited by network conditions.
packets_sent_with_ect1: Option<u64>Total number of RTP packets sent for this SSRC with the ECT(1) marking defined in RFC3168 Section 5 and used by the L4S protocol described in RFC9331.
Trait Implementations§
Source§impl Clone for RtcOutboundRtpStreamStats
impl Clone for RtcOutboundRtpStreamStats
Source§fn clone(&self) -> RtcOutboundRtpStreamStats
fn clone(&self) -> RtcOutboundRtpStreamStats
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RtcOutboundRtpStreamStats
impl Debug for RtcOutboundRtpStreamStats
Source§impl<'de> Deserialize<'de> for RtcOutboundRtpStreamStats
impl<'de> Deserialize<'de> for RtcOutboundRtpStreamStats
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Hash for RtcOutboundRtpStreamStats
impl Hash for RtcOutboundRtpStreamStats
impl StructuralPartialEq for RtcOutboundRtpStreamStats
Auto Trait Implementations§
impl Freeze for RtcOutboundRtpStreamStats
impl RefUnwindSafe for RtcOutboundRtpStreamStats
impl Send for RtcOutboundRtpStreamStats
impl Sync for RtcOutboundRtpStreamStats
impl Unpin for RtcOutboundRtpStreamStats
impl UnwindSafe for RtcOutboundRtpStreamStats
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)