Struct rtcp::sender_report::SenderReport

source ·
pub struct SenderReport {
    pub ssrc: u32,
    pub ntp_time: u64,
    pub rtp_time: u32,
    pub packet_count: u32,
    pub octet_count: u32,
    pub reports: Vec<ReceptionReport>,
    pub profile_extensions: Bytes,
}
Expand description

A SenderReport (SR) packet provides reception quality feedback for an RTP stream

Fields§

§ssrc: u32

The synchronization source identifier for the originator of this SR packet.

§ntp_time: u64

The wallclock time when this report was sent so that it may be used in combination with timestamps returned in reception reports from other receivers to measure round-trip propagation to those receivers.

§rtp_time: u32

Corresponds to the same time as the NTP timestamp (above), but in the same units and with the same random offset as the RTP timestamps in data packets. This correspondence may be used for intra- and inter-media synchronization for sources whose NTP timestamps are synchronized, and may be used by media-independent receivers to estimate the nominal RTP clock frequency.

§packet_count: u32

The total number of RTP data packets transmitted by the sender since starting transmission up until the time this SR packet was generated.

§octet_count: u32

The total number of payload octets (i.e., not including header or padding) transmitted in RTP data packets by the sender since starting transmission up until the time this SR packet was generated.

§reports: Vec<ReceptionReport>

Zero or more reception report blocks depending on the number of other sources heard by this sender since the last report. Each reception report block conveys statistics on the reception of RTP packets from a single synchronization source.

§profile_extensions: Bytes

ProfileExtensions contains additional, payload-specific information that needs to be reported regularly about the sender.

Trait Implementations§

source§

impl Clone for SenderReport

source§

fn clone(&self) -> SenderReport

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SenderReport

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SenderReport

source§

fn default() -> SenderReport

Returns the “default value” for a type. Read more
source§

impl Display for SenderReport

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Marshal for SenderReport

source§

fn marshal_to(&self, buf: &mut [u8]) -> Result<usize, Error>

Marshal encodes the packet in binary.

source§

fn marshal(&self) -> Result<Bytes, Error>

source§

impl MarshalSize for SenderReport

source§

impl Packet for SenderReport

source§

fn header(&self) -> Header

Header returns the Header associated with this packet.

source§

fn destination_ssrc(&self) -> Vec<u32>

destination_ssrc returns an array of SSRC values that this packet refers to.

source§

fn raw_size(&self) -> usize

source§

fn as_any(&self) -> &(dyn Any + Send + Sync)

source§

fn equal(&self, other: &(dyn Packet + Send + Sync)) -> bool

source§

fn cloned(&self) -> Box<dyn Packet + Send + Sync>

source§

impl PartialEq for SenderReport

source§

fn eq(&self, other: &SenderReport) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Unmarshal for SenderReport

source§

fn unmarshal<B>(raw_packet: &mut B) -> Result<Self, Error>
where Self: Sized, B: Buf,

Unmarshal decodes the SenderReport from binary

source§

impl Eq for SenderReport

source§

impl StructuralPartialEq for SenderReport

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.