At Sat, 10 Mar 2007 14:17:13 +0000, John Rigg wrote: > > On Fri, Mar 09, 2007 at 05:38:34PM +0100, Takashi Iwai wrote: > > At Thu, 8 Mar 2007 21:51:28 +0000, > > John Rigg wrote: > > > > > > On Thu, Mar 08, 2007 at 07:58:23PM +0100, Takashi Iwai wrote: > > > > At Thu, 08 Mar 2007 18:16:02 +0100, > > > > Simon Lewis wrote: > > > > > Many JACK users have successfully used the following patch: > > > > > > > > > > http://www.sound-man.co.uk/linuxaudio/pcm_multi-patch > > > > > > > > Well, the patch is no real fix. It's likely a workaround for JACK, > > > > though. Someone has to take time to track down this bug more deeply. > > > > > > True, the patch is just a workaround for JACK. However, I would > > > argue that most users of pcm_multi are probably JACK users. > > > > No, multi plugin is used in many surround PCM definitions as default. > > It's pretty hidden, but multi streams are no rare case. > > I hadn't noticed that. Thanks for pointing it out (and thank you for > looking at this problem!) > > > > Surely adding code that breaks something for the majority of users (no > > > matter how correct that code is in isolation) is not a good thing. > > > > Sure. However, this code addition was for bugfixes of major other use > > cases like above, IIRC. The regression should be avoided and should > > be fixed. But the point is, we (at least, I) haven't been enough > > informed, unfortunately (or simply burried in a big TODO list :) > > > > Now, let's back to the original problem: Could someone give a pointer > > describing for this problem, or just explain a bit details here? > > I vaguely remember but not precisely at all now... > > I'm willing to dig down after knowing how I can reproduce the bug. > > To summarise, using multiple sound cards with pcm_multi and jackd > no longer works in duplex mode ever since extra linking code was > added to pcm_multi.c in alsa-lib-1.0.9rc1. > > Trying to start jackd in duplex fails with a poll timeout message. > It still works in playback-only or capture-only modes. > The lack of duplex operation makes overdubbing in a recording studio, > for example, impossible. > > A configuration which produces the problem with two ice1712 cards > set up as a 16 channel multi device is shown here: > http://www.sound-man.co.uk/linuxaudio/ice1712multi.html > > With the .asoundrc described in the above link the following > command fails with a poll timeout message: > > jackd -d alsa -P multi_playback -C multi_capture > > The following still work: > jackd -d alsa -P multi_playback > jackd -d alsa -C multi_capture OK, played a bit around this bug. A temporary fix is attached below. It's applied to HG tree now, too. Please give it a try. The real fix will come later... Takashi diff -r 7d4862b9780b src/pcm/pcm_multi.c --- a/src/pcm/pcm_multi.c Mon Mar 12 08:27:15 2007 +0100 +++ b/src/pcm/pcm_multi.c Tue Mar 13 00:33:24 2007 +0100 @@ -621,7 +621,8 @@ static int snd_pcm_multi_link_fd(snd_pcm if (multi->slaves[i].linked) snd_pcm_unlink(multi->slaves[i].pcm); fds[i] = _snd_pcm_link_descriptor(multi->slaves[i].pcm); - multi->slaves[i].linked = 1; + if (i > 0) + multi->slaves[i].linked = 1; } *failed = snd_pcm_multi_link_fd_failed; return multi->slaves_count; ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-devel