fixed_resample

Struct ResamplingProd

Source
pub struct ResamplingProd<T: Sample> { /* private fields */ }
Expand description

The producer end of a realtime-safe spsc channel for sending samples across streams.

If the input and output samples rates differ, then this will automatically resample the input stream to match the output stream. If the sample rates match, then no resampling will occur.

Internally this uses the ringbuf crate.

Implementations§

Source§

impl<T: Sample> ResamplingProd<T>

Source

pub fn push(&mut self, data: &[T]) -> usize

Push the given data in interleaved format.

Returns the number of frames (not samples) that were successfully pushed. If this number is less than the number of frames in data, then it means an overflow has occured.

Source

pub fn available_frames(&self) -> usize

Returns the number of frames that are currently available to be pushed to the buffer.

Source

pub fn num_channels(&self) -> NonZeroUsize

The number of channels configured for this stream.

Auto Trait Implementations§

§

impl<T> !Freeze for ResamplingProd<T>

§

impl<T> !RefUnwindSafe for ResamplingProd<T>

§

impl<T> Send for ResamplingProd<T>

§

impl<T> !Sync for ResamplingProd<T>

§

impl<T> Unpin for ResamplingProd<T>

§

impl<T> UnwindSafe for ResamplingProd<T>
where T: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.