Re: preventing pulseaudio from capturing a certain audio device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 20 Jan 2017, Michael Jarosch wrote:

I've searched for this topic and the only thing I got were some obscure
methods to keep some usb-devices from being occupied by pulseaudio...

The "certain" and "some" are harder :) I use PA as my desktop audio server and jackdbus as my backend. I use:
pactl unload-module module-udev-detect
To keep pulse from grabbing any new devices that get plugged in... Well actually, I also do:
pactl unload-module module-alsa-card
So that pulse sees no devices except jack... becasue I have found that if pulse has access to any audio device while it is bridged to jack, jack is prevented from entering freerun... or at least things that try to use freerun (like Ardour) tend to crash. The pulse to Jack bridge is a quick example module that really needs fixing, but none the less works very well if it's limitations are taken into account. basically, jack should be the only "device" pulse sees (less xruns this way too).

To disable only one device, use pavucontrol the configuration tab and turn the profile for that device to off.... only one problem. With a hot plug device (USB or FireWire) unplugging and then replugging the device in... gives pulse a "new" device from udev-detect (see above) and pulse connects to it. So in your case, assuming you always start your system with the FW device plugged in, turn the profile off and it should be rememebred from boot to boot... or assuming you always boot and login first and that the FW device is the only you ever hot plug, run:
pactl unload-module module-udev-detect
after login, then plugin your FW device and Pulse will not pick it up.

The other possibility is to play with the system pulse startup files (messes with upgrades maybe) or create your own in ~/.config/pulse/ that tells pulse to grab specific alsa devices only and make sure to never load udev-detect. This may mean loading the alsa module manually (in the pulse startup script) for each device you do want.

So it seems the solution is kind of the opposite to what you want. tell pulse to autoload nothing, manually load the ones you do want. Personally, I use the jacksink module and have no devices connected to jack at all. If I want to be able to access other audio IF on the system I use zita-ajbridge. It just works...


--
Len Ovens
www.ovenwerks.net

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user



[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux