On Fri, 20 Feb 2004, Ludwig Schwardt wrote: > Hi again, > > I've made some progress on the .asoundrc issue. I can now record 8 > analog channels in JACK using a single Delta 1010LT piped through the > multi plugin. I cannot get playback to work yet. This is luckily not a > problem for my application, which only records sound. Any ideas on > getting playback to work?
This hardware has assymetric channel count - playback 10 and capture 12 (you've already figured this value). The extra two channels for capture are for the digital stereo mixer output. > I do notice a few extra warnings popping up which wasn't there when I > accessed the soundcard directly, namely "late driver wakeups" followed > by e.g. "delay of 46411.000 usecs exceeds estimated spare time of > 45230.000; restart ...". These delays are always very close to the > estimated spare time. Since I cannot playback within JACK, I cannot tell > whether this has an audible effect. Should I be worried? It looks like that system for some reason has long scheduler gaps or something takes a lot of CPU time. Personally, I don't think that you can use all three Delta's in one box at maximum rate, because they have only limited DMA PCI buffers (max 256kB) which is too small. If I compare this buffer with RME cards, then one channel has space for 5461 samples (capture) with ICE1712 and one channel with RME hardware has space for 16384 samples. Anyway, it's true that route plugin - and basically all sample conversion and copy routines - in alsa-lib are not so much optimized for particular streams, so there is still space to improve code. > P.S. What is the rule regarding slaves.xxx.channels in multi plugins? It > seems you have to set this equal to the actual number of channels of the > soundcard (slaves.xxx.pcm) to prevent "invalid argument" and "broken Yes, this parameter must match with hardware. > configuration" ALSA errors. What do you choose if the number of capture > and playback channels differ? Use asym plugin which let's you specify two different stream configuration for playback and capture: pcm.name { type asym # Asym PCM playback STR # Playback slave name # or playback { # Playback slave definition pcm STR # Slave PCM name # or pcm { } # Slave PCM definition } capture STR # Capture slave name # or capture { # Capture slave definition pcm STR # Slave PCM name # or pcm { } # Slave PCM definition } } Jaroslav ----- Jaroslav Kysela <[EMAIL PROTECTED]> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel