'Twas brillig, and Fabrice Beauvir at 19/10/10 10:41 did gyre and gimble: > On a Ubuntu 9.04 server running pulse audio without any sound card I run > 2 Windows XP virtual box . > > Sound is Ok and on both of them , I am playing on the current virtual > sound card (mapped on each vbox instance) and stream directly using > virtual card as input on each . > > but.... > > On both stream sound is mixed , I heard the 2 sounds mixed out on each > one !!! Ahh right, yes this is simple to explain, but rather more complex to fix. Ultimately PulseAudio uses a "module-null-sink" when no real hardware is found. This means that a dummy sound card is essentially provided. This is created automatically by module-always-sink so that applications generally find "somethign" to output to (as without this, alsa applications going via alsa->pulse bridge often got, erm, "confused" is a nice term :D) Anyway, the point is that this module only provide a virtual null *output*, and there is no virtual null *input*. Well, I say there is no null input but there *is* a "monitor" input for the virtual output (a monitor basically acts as a pretend input that allows you to record what is being currently played - think of how bands perform at live gigs - they use monitors there to make sure they don't sound crap!) Anyway, when VirtualBox is recording it has to record form some source in PA. As a side effect of the virtual output, the *only* input it can record from is the montitor of this virtual input. As both VMs output to the same virtual null sink in PA, their sound is mixed. Therefore when either of them record, they get the product of the mixed audio from the monitor. So that explains things. How to fix? Well there is no module-null-source (there arguably should be on written but no one has done this yet). So a trick here would be to load a second null sink and set *it's* monitor source as the default source, but never actually play anything on it. This way you can happily "record" the silence inside the VMs and that should be OK. Hope that makes sense! You'd have to do something like: pacmd load-module module-null-sink sink_name=fake pacmd set-default-source fake.monitor (you can also put this in your default.pa so it's done automatically) You'll likely need to restart your VMs to make sure they then use the right devices. Hope that helps. Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]