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>
impl<'d, D: Driver<'d>> AudioSource<'d, D>
Sourcepub fn new(
builder: &mut Builder<'d, D>,
state: &'d mut State<'d>,
config: Config<'d>,
) -> Self
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.