Function devices::virtio::snd::common_backend::async_funcs::start_pcm_worker
source · pub async fn start_pcm_worker(
ex: Executor,
dstream: DirectionalStream,
desc_receiver: UnboundedReceiver<DescriptorChain>,
status_mutex: Rc<RwLock<WorkerStatus>>,
sender: UnboundedSender<PcmResponse>,
period_dur: Duration,
card_index: usize,
release_signal: Rc<(RwLock<bool>, Condvar)>
) -> Result<(), Error>
Expand description
Start a pcm worker that receives descriptors containing PCM frames (audio data) from the tx/rx queue, and forward them to CRAS. One pcm worker per stream.
This worker is started when VIRTIO_SND_R_PCM_PREPARE is called, and returned before VIRTIO_SND_R_PCM_RELEASE is completed for the stream.