pub struct AudioLevelObserver { /* private fields */ }
Expand description
An audio level observer monitors the volume of the selected audio producers.
It just handles audio producers (if AudioLevelObserver::add_producer()
is called with a
video producer it will fail).
Audio levels are read from an RTP header extension. No decoding of audio data is done. See RFC6464 for more information.
Implementations§
Source§impl AudioLevelObserver
impl AudioLevelObserver
Sourcepub fn on_volumes<F: Fn(&[AudioLevelObserverVolume]) + Send + Sync + 'static>(
&self,
callback: F,
) -> HandlerId
pub fn on_volumes<F: Fn(&[AudioLevelObserverVolume]) + Send + Sync + 'static>( &self, callback: F, ) -> HandlerId
Callback is called at most every interval (see AudioLevelObserverOptions
).
Audio volumes entries ordered by volume (louder ones go first).
Sourcepub fn on_silence<F: Fn() + Send + Sync + 'static>(
&self,
callback: F,
) -> HandlerId
pub fn on_silence<F: Fn() + Send + Sync + 'static>( &self, callback: F, ) -> HandlerId
Callback is called when no one of the producers in this RTP observer is generating audio with a volume beyond the given threshold.
Sourcepub fn downgrade(&self) -> WeakAudioLevelObserver
pub fn downgrade(&self) -> WeakAudioLevelObserver
Downgrade AudioLevelObserver
to WeakAudioLevelObserver
instance.
Trait Implementations§
Source§impl Clone for AudioLevelObserver
impl Clone for AudioLevelObserver
Source§fn clone(&self) -> AudioLevelObserver
fn clone(&self) -> AudioLevelObserver
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for AudioLevelObserver
impl Debug for AudioLevelObserver
Source§impl RtpObserver for AudioLevelObserver
impl RtpObserver for AudioLevelObserver
Source§fn id(&self) -> RtpObserverId
fn id(&self) -> RtpObserverId
RtpObserver id.
Source§fn pause<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), RequestError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn pause<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), RequestError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Pauses the RTP observer. No RTP is inspected until resume() is called.
Source§fn resume<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), RequestError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn resume<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), RequestError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Resumes the RTP observer. RTP is inspected again.
Source§fn add_producer<'life0, 'async_trait>(
&'life0 self,
__arg1: RtpObserverAddProducerOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RequestError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_producer<'life0, 'async_trait>(
&'life0 self,
__arg1: RtpObserverAddProducerOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RequestError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Provides the RTP observer with a new producer to monitor.
Source§fn remove_producer<'life0, 'async_trait>(
&'life0 self,
producer_id: ProducerId,
) -> Pin<Box<dyn Future<Output = Result<(), RequestError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_producer<'life0, 'async_trait>(
&'life0 self,
producer_id: ProducerId,
) -> Pin<Box<dyn Future<Output = Result<(), RequestError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Removes the given producer from the RTP observer.
Source§fn on_pause(&self, callback: Box<dyn Fn() + Send + Sync + 'static>) -> HandlerId
fn on_pause(&self, callback: Box<dyn Fn() + Send + Sync + 'static>) -> HandlerId
Callback is called when the RTP observer is paused.
Source§fn on_resume(
&self,
callback: Box<dyn Fn() + Send + Sync + 'static>,
) -> HandlerId
fn on_resume( &self, callback: Box<dyn Fn() + Send + Sync + 'static>, ) -> HandlerId
Callback is called when the RTP observer is resumed.
Source§fn on_add_producer(
&self,
callback: Box<dyn Fn(&Producer) + Send + Sync + 'static>,
) -> HandlerId
fn on_add_producer( &self, callback: Box<dyn Fn(&Producer) + Send + Sync + 'static>, ) -> HandlerId
Callback is called when a new producer is added into the RTP observer.
Source§fn on_remove_producer(
&self,
callback: Box<dyn Fn(&Producer) + Send + Sync + 'static>,
) -> HandlerId
fn on_remove_producer( &self, callback: Box<dyn Fn(&Producer) + Send + Sync + 'static>, ) -> HandlerId
Callback is called when a producer is removed from the RTP observer.
Auto Trait Implementations§
impl Freeze for AudioLevelObserver
impl !RefUnwindSafe for AudioLevelObserver
impl Send for AudioLevelObserver
impl Sync for AudioLevelObserver
impl Unpin for AudioLevelObserver
impl !UnwindSafe for AudioLevelObserver
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