pub struct RtcTrack {
pub peer_connection: Option<Arc<PeerConnection>>,
/* private fields */
}Fields§
§peer_connection: Option<Arc<PeerConnection>>Implementations§
Source§impl RtcTrack
impl RtcTrack
pub fn new( cancel_token: CancellationToken, id: TrackId, track_config: TrackConfig, rtc_config: RtcTrackConfig, ) -> Self
pub fn with_ssrc(self, ssrc: u32) -> Self
pub fn create_audio_track( _codec: CodecType, _stream_id: Option<String>, ) -> (Arc<SampleStreamSource>, Arc<SampleStreamTrack>)
pub async fn local_description(&self) -> Result<String>
pub async fn create(&mut self) -> Result<()>
pub fn parse_sdp_payload_types( &mut self, sdp_type: SdpType, sdp_str: &str, ) -> Result<()>
Trait Implementations§
Source§impl Track for RtcTrack
impl Track for RtcTrack
fn ssrc(&self) -> u32
fn id(&self) -> &TrackId
fn config(&self) -> &TrackConfig
fn processor_chain(&mut self) -> &mut ProcessorChain
fn handshake<'life0, 'async_trait>(
&'life0 mut self,
offer: String,
__arg2: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_remote_description<'life0, 'life1, 'async_trait>(
&'life0 mut self,
answer: &'life1 String,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_remote_description_force<'life0, 'life1, 'async_trait>(
&'life0 mut self,
answer: &'life1 String,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn start<'life0, 'async_trait>(
&'life0 mut self,
event_sender: EventSender,
packet_sender: TrackPacketSender,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stop<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_packet<'life0, 'life1, 'async_trait>(
&'life0 mut self,
packet: &'life1 AudioFrame,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn add_ice_candidate(
&self,
candidate: &str,
_sdp_mid: Option<&str>,
_sdp_mline_index: Option<u32>,
) -> Result<()>
fn add_ice_candidate( &self, candidate: &str, _sdp_mid: Option<&str>, _sdp_mline_index: Option<u32>, ) -> Result<()>
Feed a remotely-gathered ICE candidate into this track’s PeerConnection.
Default no-op for track types that aren’t backed by ICE (file/tts/websocket tracks).
fn set_paused(&self, _paused: bool) -> bool
fn is_paused(&self) -> bool
fn insert_processor(&mut self, processor: Box<dyn Processor>)
fn append_processor(&mut self, processor: Box<dyn Processor>)
fn stop_graceful<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for RtcTrack
impl !UnwindSafe for RtcTrack
impl Freeze for RtcTrack
impl Send for RtcTrack
impl Sync for RtcTrack
impl Unpin for RtcTrack
impl UnsafeUnpin for RtcTrack
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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