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.