« Return to Thread: jack with pulseaudio

Re: jack with pulseaudio

by Patrick Shirkey :: Rate this Message:

Reply to Author | View in Thread


On 05/28/2009 08:02 AM, Lee Revell wrote:
On Wed, May 27, 2009 at 5:28 PM, Patrick Shirkey
pshirkey@... wrote:
  
Basically I'm thinking of adding a couple of calls to remove the existing
pulse sink/source modules and insert jack sink/source modules when started
and vice versa if jack is stopped.

It would mean anyone wanting to keep pulseaudio alive and streaming while
jack is running wouldn't have to jump through hoops, run shell scripts or
setup any pa config files.
    

Just out of curiosity, what's the use case you had in mind?  I would
not expect that many JACK users want to hear system sounds once they
fire up JACK.

  

IMO anyone who runs pulse and jack at the same time wants to hear system sounds through master i/o or at least a default jack-pulse i/o. If they don't then they can: mute the pulse stream, disable the system sounds, run with out pulse support or kill pulse completely. Anyone who doesn't want pulse support will have a good reason for that and already has many options to get the job done.

However for the larger majority of normal desktop users who want to have a seamlessly functioning audio system that doesn't make them jump through hoops to for example use a jack'ed app and still receive skype phone calls and email notifications then the current situation is a complete mess.



I would certainly hope this auto-patching would be disabled by default.

  

I actually think we should enable it by default as "normal" user should not be expected to enable pulse to have seamless integration but my main concern is that jack can handle signalling to PA to auto disconnect existing sink/source and reconnect to jack sink/source and vice versa. The api calls are available and the dbus system already accomplishes half of the functionality so I believe it should be a relatively trivial step to implement the rest.

ex.

if(pulse flag is set && pulse is running)
{
    pasuspend
    pactl disconnect existing sink/source
    pactl connect jack sink/source
}


If (jack is closing && pulse flag is set)
{
    pactl disconnect jack sink/source
    pactl connect  default pulse sink/source
    paunsuspend
}


Please note that Lennart has now said that pulseaudio api calls will eventually be discarded in favor of dbus control so I guess that implementing them directly to jack will cause breakage at some point. Another option I have suggested is a "pajackcontrol" applet that could be compiled with pulseaudio and provide a simple api for jack to access directly to be called by jack at startup. I prefer for core jack not to be tied to dbus when the existing api calls already work but Lennart prefers to use dbus instead.

I assume that means he will also implement dbus support into the existing control applets in the future.


Cheers.


Patrick Shirkey
Boost Hardware Ltd




_______________________________________________
Jack-Devel mailing list
Jack-Devel@...
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

 « Return to Thread: jack with pulseaudio