We have lately been having trouble with our pulse/jackdbus setup. When I first installed 12.04 starting Jackdbus with qjackctl or jack_control would stop whatever pulse was doing and use the port. Somewhere between there and here this no longer works right. Sometimes if the session has just started, and pulse has not been used to stream anything, jack still works this way, but for sure once pulse has been used or is streaming, Jack will fail to start because it can not get access to the device pulse is using.
What is supposed to happen: Jackdbus uses dbus to tell pulseaudio to release the device jack wishes to connect to. This does appear to happen, at least audio stops going to the device and the timer on the streaming app stops just as in the case of a blocked port. However, jack fails to get the port. (once in a long while it "just works") I have played around with this and there is a hack that will work. This is not a fix. When setting up qjackctl, there is a tab called "Options". On that panel there is a line with "Execute script on Startup". If this is enabled and the line: pasuspender sleep 5 & Added, everything just works so long as jack is started with qjackctl. I tested this by using Audacious to play some songs through pulse. On starting jack with qjackctl there is a brief silence and then the stream switches over to jack-sink and continues to stream through jack. Stopping jack works just fine too with the stream switching back to the device. Davis I CCed this to you because I know you have a better understanding of pulse than me. Would you (or anyone) know if pasuspender uses dbus to tell PA to release HW devices? If so then it would appear that PA is working but jackdbus is not waiting long enough, or that PA is ack the dbus message before it has completed releasing the port. Maybe it is the right thing for PA to do even... Dbus may not like to wait around while PA does stuff. Anyway, an answer to this will give me a good idea which package to apply the bug against... and maybe see if a patch can be made. My inclination is to bug jackd2. The patch would be to delay jackd for a short period (half second?) after getting a dbus ack before attempting to use the device. I will try to figure it out myself, but am not great with c++, most of my programing has been c, and not for a while now. -- Len Ovens www.OvenWerks.net -- Ubuntu-Studio-devel mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-studio-devel
