pub enum RtcInboundRtpStreamMediaType {
Audio {
voice_activity_flag: Option<bool>,
total_samples_received: Option<u64>,
concealed_samples: Option<u64>,
silent_concealed_samples: Option<u64>,
audio_level: Option<Float>,
total_audio_energy: Option<Float>,
total_samples_duration: Option<HighResTimeStamp>,
},
Video {
frames_decoded: Option<u64>,
key_frames_decoded: Option<u64>,
frame_width: Option<u64>,
frame_height: Option<u64>,
total_inter_frame_delay: Option<Float>,
frames_per_second: Option<Float>,
frame_bit_depth: Option<u64>,
fir_count: Option<u64>,
pli_count: Option<u64>,
sli_count: Option<u64>,
concealment_events: Option<u64>,
frames_received: Option<u64>,
},
}Expand description
Fields of RtcStatsType::InboundRtp variant.
Variants§
Audio
Fields when the kind is audio.
Fields
voice_activity_flag: Option<bool>Indicator whether the last RTP packet whose frame was delivered to the RTCRtpReceiver’s MediaStreamTrack for playout contained voice activity or not based on the presence of the V bit in the extension header, as defined in RFC 6464.
total_samples_received: Option<u64>Total number of samples that have been received on this RTP stream.
This includes concealedSamples.
concealed_samples: Option<u64>Total number of samples that are concealed samples.
A concealed sample is a sample that was replaced with synthesized
samples generated locally before being played out.
Examples of samples that have to be concealed are samples from lost
packets (reported in packetsLost) or samples from packets that
arrive too late to be played out (reported in
packetsDiscarded).
silent_concealed_samples: Option<u64>Total number of concealed samples inserted that are “silent”.
Playing out silent samples results in silence or comfort noise.
This is a subset of concealedSamples.
total_samples_duration: Option<HighResTimeStamp>Audio duration of the receiving track.
For audio durations of tracks attached locally, see RTCAudioSourceStats instead.
Video
Fields when the kind is video.
Fields
frames_decoded: Option<u64>Total number of frames correctly decoded for this RTP stream, i.e. frames that would be displayed if no frames are dropped.
key_frames_decoded: Option<u64>Total number of key frames, such as key frames in VP8 RFC 6386 or IDR-frames in H.264 RFC 6184, successfully decoded for this RTP media stream.
This is a subset of framesDecoded.
framesDecoded - keyFramesDecoded gives you the number of
delta frames decoded.
frame_width: Option<u64>Width of the last decoded frame.
Before the first frame is decoded this attribute is missing.
frame_height: Option<u64>Height of the last decoded frame.
Before the first frame is decoded this attribute is missing.
total_inter_frame_delay: Option<Float>Sum of the interframe delays in seconds between consecutively decoded frames, recorded just after a frame has been decoded.
frame_bit_depth: Option<u64>Bit depth per pixel of the last decoded frame.
Typical values are 24, 30, or 36 bits. Before the first frame is decoded this attribute is missing.
concealment_events: Option<u64>Number of concealment events.
This counter increases every time a concealed sample is synthesized
after a non-concealed sample. That is, multiple consecutive
concealed samples will increase the concealedSamples count
multiple times but is a single concealment event.
Trait Implementations§
source§impl Clone for RtcInboundRtpStreamMediaType
impl Clone for RtcInboundRtpStreamMediaType
source§fn clone(&self) -> RtcInboundRtpStreamMediaType
fn clone(&self) -> RtcInboundRtpStreamMediaType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for RtcInboundRtpStreamMediaType
impl Debug for RtcInboundRtpStreamMediaType
source§impl<'de> Deserialize<'de> for RtcInboundRtpStreamMediaType
impl<'de> Deserialize<'de> for RtcInboundRtpStreamMediaType
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 RtcInboundRtpStreamMediaType
impl Hash for RtcInboundRtpStreamMediaType
source§impl PartialEq for RtcInboundRtpStreamMediaType
impl PartialEq for RtcInboundRtpStreamMediaType
source§fn eq(&self, other: &RtcInboundRtpStreamMediaType) -> bool
fn eq(&self, other: &RtcInboundRtpStreamMediaType) -> bool
self and other values to be equal, and is used by ==.impl Copy for RtcInboundRtpStreamMediaType
impl StructuralPartialEq for RtcInboundRtpStreamMediaType
Auto Trait Implementations§
impl Freeze for RtcInboundRtpStreamMediaType
impl RefUnwindSafe for RtcInboundRtpStreamMediaType
impl Send for RtcInboundRtpStreamMediaType
impl Sync for RtcInboundRtpStreamMediaType
impl Unpin for RtcInboundRtpStreamMediaType
impl UnwindSafe for RtcInboundRtpStreamMediaType
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)