pub struct RtpSender { /* private fields */ }Expand description
Sender-side RTP state: sequence, timestamp, and SSRC advance per packet.
Implementations§
Source§impl RtpSender
impl RtpSender
Sourcepub fn new(
payload_type: u8,
ssrc: u32,
initial_sequence: u16,
initial_timestamp: u32,
) -> Self
pub fn new( payload_type: u8, ssrc: u32, initial_sequence: u16, initial_timestamp: u32, ) -> Self
Create a sender for the given payload type and SSRC.
Callers should pick a random-ish SSRC and initial sequence/timestamp; determinism here keeps the function pure — randomness is the caller’s.
Sourcepub fn packetize(&mut self, payload: &[u8], samples: u32) -> Vec<u8> ⓘ
pub fn packetize(&mut self, payload: &[u8], samples: u32) -> Vec<u8> ⓘ
Frame one payload as an RTP packet and advance sequence/timestamp.
samples is the number of media samples the payload covers (for
G.711, one byte per sample — 160 for a 20 ms packet).
Sourcepub fn skip_silence(&mut self, samples: u32)
pub fn skip_silence(&mut self, samples: u32)
Advance the media clock over a silent gap and mark the next packet as the start of a new talkspurt.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RtpSender
impl RefUnwindSafe for RtpSender
impl Send for RtpSender
impl Sync for RtpSender
impl Unpin for RtpSender
impl UnwindSafe for RtpSender
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
Mutably borrows from an owned value. Read more
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].