Struct StreamRx

Source
pub struct StreamRx { /* private fields */ }
Expand description

Incoming encoded stream.

A stream is a primary SSRC + optional RTX SSRC.

This is RTP level API. For sample level API see Rtc::writer.

Implementations§

Source§

impl StreamRx

Source

pub fn ssrc(&self) -> Ssrc

The (primary) SSRC of this encoded stream.

Source

pub fn rtx(&self) -> Option<Ssrc>

The resend (RTX) SSRC of this encoded stream.

Source

pub fn mid(&self) -> Mid

Mid for this stream.

In SDP this corresponds to m-line and “Media”.

Source

pub fn rid(&self) -> Option<Rid>

Rid for this stream.

This is used to separate streams with the same Mid when using simulcast.

Source

pub fn cname(&self) -> Option<&str>

CNAME as sent by remote peer in a Sdes.

The value is None until we receive a first report with the value set.

Source

pub fn set_pause_threshold(&mut self, t: Duration)

Set threshold duration for emitting the paused event.

This event is emitted when no packet have received for this duration.

Source

pub fn request_keyframe(&mut self, kind: KeyframeRequestKind)

Request a keyframe for an incoming encoded stream.

  • SSRC the identifier of the remote encoded stream to request a keyframe for.
  • kind PLI or FIR.
Source

pub fn request_remb(&mut self, bitrate: Bitrate)

Request max recv bitrate for an incoming encoded stream.

  • bitrate Bitrate.
Source

pub fn suppress_nack(&mut self, suppress: bool)

Suppress NACK sending.

Normally NACK is disabled by not having an RTX SSRC set. In some situations it might be desirable to manually suppress NACK sending regardless of RTX setting.

Source

pub fn reset_roc(&mut self, roc: u64)

Reset the current rollover counter (ROC).

This is used in scenarios where we use a single sequence number across all receivers of the same stream (as opposed to a sequence number unique per peer).

RFC3711:

Receivers joining an on-going session MUST be given the current ROC value using out-of-band signaling such as key-management signaling. Furthermore, the receiver SHALL initialize s_l to the RTP sequence number (SEQ) of the first observed SRTP packet (unless the initial value is provided by out of band signaling such as key management).

Trait Implementations§

Source§

impl Debug for StreamRx

Source§

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

Formats the value using the given formatter. Read more

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