Struct RtpPacket

Source
pub struct RtpPacket {
    pub seq_no: SeqNo,
    pub time: MediaTime,
    pub header: RtpHeader,
    pub payload: Vec<u8>,
    pub timestamp: Instant,
    pub last_sender_info: Option<SenderInfo>,
    /* private fields */
}
Expand description

Packet of RTP data.

As emitted by Event::RtpPacket when using rtp mode.

Fields§

§seq_no: SeqNo

Extended sequence number to avoid having to deal with ROC.

§time: MediaTime

Extended RTP time in the clock frequency of the codec. To avoid dealing with ROC.

For a newly scheduled outgoing packet, the clock_rate is not correctly set until we do the poll_output().

§header: RtpHeader

Parsed RTP header.

§payload: Vec<u8>

RTP payload. This contains no header.

§timestamp: Instant

str0m server timestamp.

This timestamp has nothing to do with RTP itself. For outgoing packets, this is when the packet was first handed over to str0m and enqueued in the outgoing send buffers. For incoming packets it’s the time we received the network packet.

§last_sender_info: Option<SenderInfo>

Sender information from the most recent Sender Report(SR).

If no Sender Report(SR) has been received or this packet is being sent by str0m this is None.

Trait Implementations§

Source§

impl Debug for RtpPacket

Source§

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

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

impl PartialEq for RtpPacket

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for RtpPacket

Source§

impl StructuralPartialEq for RtpPacket

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

Source§

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more