On Friday, 5 May 2006 13:44, Lee Revell wrote:
I actually discussed this with Joachim from the MuSE
team at LAC - we
need a way for applications that need a low latency capable kernel to
discover whether the kernel is good enough. One option would be to
simply make MuSE depend on a "known good for audio" kernel in the
package manager which is probably too aggressive, and not reliable
enough. A better solution would be to have a simple, user friendly app
that does a latency test and reports the results, and if a problem is
found would recommend that the user upgrade the kernel, change some
config options or file a bug report with their distro.
Unfortunately it's a tricky problem, as you can see there's not even a
distro independent way to check the kernel config.
If the program uses the ALSA Sequencer, there can be several timer sources
available. The ALSA-RTC timer driver had very bad luck, plagued with problems
in many kernel versions, but gives good resolution when it is available. The
system timer is always present, but its resolution depends on the HZ setting
in the kernel. You can use the timer interface from ALSA to retrieve the
resolution of the system timer (or any other timer driver):
http://www.alsa-project.org/alsa-doc/alsa-lib/group___timer.html
Of course, this ALSA timer infrastructure is relevant only if your program
uses ALSA Sequencer scheduling capabilities or event timestamping.
Regards,
Pedro