embassy-usb

Crates

git

Versions

default

Flavors

Skip to main content

AudioSource

Struct AudioSource 

Source
pub struct AudioSource<'d, D: Driver<'d>> {
    pub stream: Stream<'d, D>,
    pub control_monitor: ControlMonitor<'d>,
}
Expand description

Implementation of the USB audio class 1.0, source side.

Fields§

§stream: Stream<'d, D>

The audio stream toward the host.

§control_monitor: ControlMonitor<'d>

Control Monitor

Implementations§

Source§

impl<'d, D: Driver<'d>> AudioSource<'d, D>

Source

pub fn new( builder: &mut Builder<'d, D>, state: &'d mut State<'d>, config: Config<'d>, ) -> Self

Creates a new AudioSource device, and registers its control handler.

The streaming endpoint’s packet size is one full-speed frame (1 ms) of samples at the highest sample rate, plus one frame of slack: the source’s clock is its own, and it is allowed to get a sample per channel ahead of the host.

§Panics

If config has no sample rate or more than ten, no channel or more than twelve, channels duplicated or out of wChannelConfig bit order, a sample rate above 24 bits, a packet size above the 1023-byte full-speed limit, TerminalType::UsbStreaming as the input terminal, a nonempty feature_unit without exactly one entry for the master and each audio channel, unsupported control bits, or a too-small control_buf.

Auto Trait Implementations§

§

impl<'d, D> !RefUnwindSafe for AudioSource<'d, D>

§

impl<'d, D> !UnwindSafe for AudioSource<'d, D>

§

impl<'d, D> Freeze for AudioSource<'d, D>
where Stream<'d, D>: Freeze,

§

impl<'d, D> Send for AudioSource<'d, D>
where Stream<'d, D>: Send,

§

impl<'d, D> Sync for AudioSource<'d, D>
where Stream<'d, D>: Sync,

§

impl<'d, D> Unpin for AudioSource<'d, D>
where Stream<'d, D>: Unpin,

§

impl<'d, D> UnsafeUnpin for AudioSource<'d, D>
where Stream<'d, D>: UnsafeUnpin,

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 = !

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.