pub struct FlexFec03ReceiveInterceptor { /* private fields */ }Expand description
Recovers media lost from streams protected by FlexFEC draft-03.
Belongs early on the read path, close to the wire: a recovered packet must be indistinguishable from one that arrived, so recovery has to happen before anything after it inspects sequence numbers — the NACK generator should not ask for a packet FEC is about to rebuild, and the jitter buffer should order the recovered packet along with the rest.
Implementations§
Source§impl FlexFec03ReceiveInterceptor
impl FlexFec03ReceiveInterceptor
Sourcepub fn protected_streams(&self) -> impl Iterator<Item = u32> + '_
pub fn protected_streams(&self) -> impl Iterator<Item = u32> + '_
The media SSRCs currently protected.
Trait Implementations§
Source§impl Interceptor for FlexFec03ReceiveInterceptor
impl Interceptor for FlexFec03ReceiveInterceptor
Source§fn bind_remote_stream(&mut self, info: &StreamInfo)
fn bind_remote_stream(&mut self, info: &StreamInfo)
bind_remote_stream lets you modify any incoming RTP packets. It is called once for per RemoteStream. The returned method
will be called once per rtp packet.
Source§fn unbind_remote_stream(&mut self, info: &StreamInfo)
fn unbind_remote_stream(&mut self, info: &StreamInfo)
unbind_remote_stream is called when the Stream is removed. It can be used to clean up any data related to that track.
Source§fn bind_local_stream(&mut self, _info: &StreamInfo)
fn bind_local_stream(&mut self, _info: &StreamInfo)
bind_local_stream lets you modify any outgoing RTP packets. It is called once for per LocalStream. The returned method
will be called once per rtp packet.
Source§fn unbind_local_stream(&mut self, _info: &StreamInfo)
fn unbind_local_stream(&mut self, _info: &StreamInfo)
unbind_local_stream is called when the Stream is removed. It can be used to clean up any data related to that track.
Source§impl Protocol<TransportMessage<AttributedPacket>, TransportMessage<AttributedPacket>, ()> for FlexFec03ReceiveInterceptor
impl Protocol<TransportMessage<AttributedPacket>, TransportMessage<AttributedPacket>, ()> for FlexFec03ReceiveInterceptor
Source§type Rout = TransportMessage<AttributedPacket>
type Rout = TransportMessage<AttributedPacket>
Output read message type Read more
Source§type Wout = TransportMessage<AttributedPacket>
type Wout = TransportMessage<AttributedPacket>
Output write message type Read more
Source§fn handle_read(&mut self, msg: TaggedPacket) -> Result<(), Self::Error>
fn handle_read(&mut self, msg: TaggedPacket) -> Result<(), Self::Error>
Handle an incoming read message. Read more
Source§fn handle_write(&mut self, msg: TaggedPacket) -> Result<(), Self::Error>
fn handle_write(&mut self, msg: TaggedPacket) -> Result<(), Self::Error>
Handle an outgoing write message. Read more
Source§fn handle_timeout(&mut self, _now: Instant) -> Result<(), Self::Error>
fn handle_timeout(&mut self, _now: Instant) -> Result<(), Self::Error>
Handle a timeout event. Read more
Source§fn poll_timeout(&mut self) -> Option<Self::Time>
fn poll_timeout(&mut self) -> Option<Self::Time>
Poll for the next timeout deadline. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for FlexFec03ReceiveInterceptor
impl !UnwindSafe for FlexFec03ReceiveInterceptor
impl Freeze for FlexFec03ReceiveInterceptor
impl Send for FlexFec03ReceiveInterceptor
impl Sync for FlexFec03ReceiveInterceptor
impl Unpin for FlexFec03ReceiveInterceptor
impl UnsafeUnpin for FlexFec03ReceiveInterceptor
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