[alsa-devel] [PATCH 1/5] ALSA: snd-usb: implement new endpoint streaming model
Daniel Mack
zonque at gmail.com
Wed Nov 2 15:29:19 CET 2011
On 11/02/2011 11:26 AM, Clemens Ladisch wrote:
> Daniel Mack wrote:
>> +void snd_usb_handle_sync_urb(struct snd_usb_endpoint *ep,
>> +{
>> + if (snd_usb_endpoint_implict_feedback_sink(ep)&& ep->use_count> 0) {
>> ...
>> + for (i = 0; i< ep->nurbs; i++)
>> + if (!test_and_set_bit(i,&ep->active_mask)) {
>> + out_urb = ep->urb[i].urb;
>> + break;
>> + }
>> +
>> + if (!out_urb) {
>> + snd_printk(KERN_ERR "Unable to find an urb for playback (nurbs %d)\n",
>> + ep->nurbs);
>
> AFAICS the driver tries for all URBS to be queued at all times.
Hmm, no, not for the "implicit feedback" case. In this mode, we don't
queue any output urbs on startup but wait for the capture urbs to arrive
and then queue from there. So this should be ok, right?
Daniel
More information about the Alsa-devel
mailing list