Struct medea_jason::peer::receiver::Receiver [−][src]
Representation of a remote remote::Track
that is being received from
some remote peer. It may have two states: waiting
and receiving
.
We can save related Transceiver
and the actual
remote::Track
only when remote::Track
data arrives.
Implementations
impl Receiver
[src]
pub fn new(
state: &State,
media_connections: &MediaConnections,
track_events_sender: UnboundedSender<TrackEvent>,
recv_constraints: &RecvConstraints
) -> Self
[src]
state: &State,
media_connections: &MediaConnections,
track_events_sender: UnboundedSender<TrackEvent>,
recv_constraints: &RecvConstraints
) -> Self
Creates new Transceiver
if provided mid
is None
, otherwise
creates Receiver
without Transceiver
. It will be injected
when remote::Track
arrives.
Created Transceiver
direction is set to
TransceiverDirection::INACTIVE
if enabled_individual
is false
.
track
field in the created Receiver
will be None
, since
Receiver
must be created before the actual remote::Track
data
arrives.
#[must_use]pub fn caps(&self) -> &TrackConstraints
[src]
Returns TrackConstraints
of this Receiver
.
#[must_use]pub fn mid(&self) -> Option<String>
[src]
#[must_use]pub fn is_receiving(&self) -> bool
[src]
Indicates whether this Receiver
receives media data.
pub fn send_media_exchange_state_intention(&self, state: Transition)
[src]
Sends TrackEvent::MediaExchangeIntention
with the provided
media_exchange_state
.
pub fn set_remote_track(
&self,
transceiver: Transceiver,
new_track: MediaStreamTrack
)
[src]
&self,
transceiver: Transceiver,
new_track: MediaStreamTrack
)
Adds provided sys::MediaStreamTrack
and Transceiver
to this
Receiver
.
pub fn replace_transceiver(&self, transceiver: Transceiver)
[src]
Replaces Receiver
’s Transceiver
with a provided Transceiver
.
Doesn’t update TransceiverDirection
of the Transceiver
.
No-op if provided with the same Transceiver
as already exists in
this Receiver
.
pub fn transceiver(&self) -> Option<Transceiver>
[src]
Returns Transceiver
of this Receiver
.
Returns None
if this Receiver
doesn’t have Transceiver
.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Receiver
impl !Send for Receiver
impl !Sync for Receiver
impl Unpin for Receiver
impl !UnwindSafe for Receiver
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.