Hi,

usb iso transfers happen every 1ms (USB1.1) ( or at multiples of 125µs for
USB2.0).
this timing is fixed and leads to a variable amount of frames available at
interrupt.
looking at 44100Hz on USB 1.1, we receive/send 44 frames on 9 of 10
USB-interrupts and 45 frames on 1 of 10
USB-interrupts.
on first sight 48000Hz seams to lead to a constant 48 frames per interrupt.
this does not remain true if the USB-audio device is in sync to an
externally connected device (digital in).
the current usb-audio mimics constant period size in the USB-interrupt
routines by calling snd_period_elapsed() only, if at least full period sizes
are transfered on the usb.
this good for constant period-size compatibility but leads to sub-optimal
latency: i.e. for capture worst case, audio apps start working 1ms later
than possible.
How can we implement the latency-optimal behaviour with alsa-driver
framework?
Can we implement something like a snd_1ms_elapsed() routine (called from
USB-interrupt), which in turn triggers a waiting app with the available
period size (which would be 44 or 45 frames for 44100Hz)?
I would like to see this in ALSA / JACK.
What do you think?

regards,
Karsten

__________________________________________________________________

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to