On Sunday 12 April 2009 10:48:27 Garth Dahlstrom wrote: > AFAIK, Flash is not pulse aware, i.e. it hogs the ALSA device it opens so > other ALSA apps can't use it.
You're doing it wrong :) On my computer, flash plays though ALSA which in turn goes through pulse. The pulse Volume control calls it 'ALSA plug-in [firefox]: ALSA Playback'. I can play other things at the same time no problem. Also, there's two levels of 'hogging the ALSA device'. Pulse does it one way: it asks the OS to not let anyone else use it, and ALSA apps on their own (what people see with flash) will do it another way: each will allocate a device, until they can't allocate any more. My desktop soundcard has 32 channels that it'll mix, I think my laptop has 1. The dmix ALSA driver thing fixes this too, by combining the /n/ software channels into one that goes to the hardware. I have a feeling that even with OSS emulation, attempting to use OSS will bypass dmix, locking down a channel on the card, possibly the only one. > My understanding of pasuspend is it > suspends pulse so devices can access /dev/dsp directly. I doubt that > pasuspend will help Mixxx because the pulse deamon isn't blocking Mixxx > talking to ALSA (ALSA seems to pulse aware to some degree). Mixxx won't work with pulse's ALSA emulation if it's using mmap, because that's not included in the emulated environment. It's not that ALSA is pulse- aware, it's that pulse is ALSA aware, and takes over from it, providing an almost-ALSA interface. Even if you fixed portaudio to work with pulse, you still don't want it to be there if you can avoid it, as it'll add latency. Pasuspender will get pulse out of the way, opening up direct hardware access to ALSA applications. They won't be talking to pulse, they'll be talking to the kernel. The proof, however, is in the testing. I launched the flash player in the last.fm website, and started it playing. I ran 'pasuspender bash' in the shell, and the flash playback stopped. When I exited the shell, it started again. That is exactly what you want to happen. Fire up 'pavucontrol' and you can see how each application is talking to pulse. -- Robin <[email protected]> JabberID: <[email protected]> http://www.kallisti.net.nz/blog ||| http://identi.ca/eythian PGP Key 0xA99CEB6D = 5957 6D23 8B16 EFAB FEF8 7175 14D3 6485 A99C EB6D
signature.asc
Description: This is a digitally signed message part.
------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com
_______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
