You are here

Phonon backend that provides Jack support

Hi, I've been searching for a Phonon backend that provides decent uptodate Jack support and I'm not sure where to turn to to ask about such a thing. It occurs to me that qtractor may have some code that could be used as a basis for a Phonon-Jack backend and/or perhaps Rui or someone else may have some thoughts on this seeing that qtractor, and of course qjackctl, compile and run on qt-snaphot (4.5) so is in the general ball park.

Yes I know Phonon should provide video services too but that could be provided by ffmpeg with a bit of a Qt interface for displaying video. All I know is I dislike gstreamer and I don't think xine-lib or the mplayer/vlc backends will have any "decent" jack support so perhaps a more direct Jack backend for Phonon, in conjunction with some direct video backend, might be worth looking into?

I would love to see qjackctl automatically come up when configuring the audio side of some Phonon enabled application.

Forums: 
rncbc's picture

Now that you ask, I'm seeing a JACK device entry on the Sound System Configuration of my KDE 4.1.3. I've tested it, by putting it on the top of my output device preferences and after a very cursory hearing it seems to do the job, as long as jackd is currently running alright. It doesn't make it to start jackd (or qjackctl) on its own, but it's a good sign anyway :)

I suspect, however, that this listed JACK output device is provided by xine-lib and it is not a genuine JACK backend. And as a matter of fact, Matthias (phonon's architect) once or more times have said there's no way or point in having a JACK backend for Phonon, due to simple fact that a Phonon backend must be capable to (de)encode all or most types of media, audio and video. JACK only does raw audio and thus can only serve as an audio output device on behalf of some other media streaming library (eg. xine or gstreamer). And that closes the case I'm afraid ;)

One other thing: I really can't say how much it is desirable to have those nasty desktop sounds and notifications (think of IM:) injected on my best take of a recording I was deeply engaged ;))

Cheers

That KDE4 Jack option only appears when xine-lib is used so it's completely unavailable for Qt only projects because Qt can't inlcude xine-libs for licensing reasons. Qt-only apps are my concern as I am trying to put together a simple Qt-only (or mostly) desktop system that actually features qtractor and qjackctl.

I can appreciate Matthias point of view but, in a way, xine-lib is just a wrapper around a Jack audio backend... or proxy middleware on behalf of a Jack audio backend. I'd just like to get rid of most of the middleware not related to supporting Jack+ALSA on the audio side. Related is a video backend and I'd like to see a more direct ffmpeg backend with a simple Qt display mechanism (ffplay uses SDL but is only 55K in size). The phonon-vlc backend would be a close starting point, for the video side at least.

As for misdirected sounds, the phonon kcfg already allows for sending audio types to different targets and qjackctls patchbay is the most powerful reason I want a generic Jack backend for Qt apps in the first place :-)

To me, Jack is to audio as OpenGL is for desktop/video usage and cheap modern motherboards come with OpenGL capable onboard GPUs and often have 24/96 x 8ch audio at ~95db. I don't see the point of NOT taking advantage of both (in the context of a "new" lightweight desktop that will take years to mature). I want your qjackctl patchbay as a fundamental part of a Qt based desktop system for my use, not as a "professional" add on, so if that means trying to add a Jack backend to phonon (the official way to support such things for Qt) then so be it. The point that such a system does not exist is my itch. Please excuse my rant on your forum :-)

Hello,
I am also worried about that you about jack & phonon
Apparently a guy (falkTX is a ubuntu maintainer ) have maked a phonon-backend-jack !
here :
=== www. linuxmusicians . com/viewtopic.php?f=24&t=2479&start=0&st=0&sk=t&sd=a&sid=7d46afdb5c010597857e233665570996
Javitra is a Phonon based media player with Jack support

It's able to play many file types (as much as Phonon supports).
Javitra is written in C++ and uses the Qt framework for the GUI stuff.

The main feature is the Jack transport support, which allows you
to sync the current playing audio/video with other Jack clients.

Javitra is distributed under the terms of the GNU GPL v2
===

Why there is not a backend available, why it's impossible to use phonon with jack and have sound ?
Why it's mandatory to install a2jmidid with jack for legacy midi ?

For me it's very too complex !

a tech guy for 10y in linux, windows, solaris
Thanks for your beautiful & easy to use tool qjactcl

rncbc's picture

whatever happened to god old xine backend?

:S

Thanks for your reply ?
You don't have some responses for the other questions .. :) ?
I don't know which is the best backend which support jackd ...

rncbc's picture

which is the best backend which support jackd ...?
i dunno either, but the one i still seem to use and get working alright, is xine.

the other one is, i guess, gstreamer, but to date i didn't ever get that to any use or work at all :/

cheers

Hello Rui Nuno,
Thanks for your reply.
So then after some search, I realized that the Phonon backend support video and sound.
And it's up to them to give a hand to jack (like a gateway) if it's sound type and if jack is started.
As Xine is discontinue, if you want to hope that your excellent tool qjacktcl still works in the furtur. It seems to me very important to invest interest in the new backend and perhaps to inform developers about the heavy importance of jack?

Harald Sitter sitter.harald at gmail.com author of apachelog.wordpress.com is a phonon developer. He said two majors things :

- He doesn't know really JACkd and apparently are not interested about jackd :/
http:// apachelog.wordpress.com/2011/01/05/phonon-loves-codecs/#comment-997

- He said than "The former preferred choice Xine is as of now considered unmaintained and should not be used anymore." (because QtWebKit hard-depends on the GStreamer, Xine a too few developer)
http:// apachelog.wordpress.com/2011/01/21/phonon-family-4-4-4/

useful sources :
jack plugin used by phonon-backend-gstreamer :
http:// cgit.freedesktop.org/gstreamer/gst-plugins-good/log/ext/jack

jack plugin used by phonon-backend-vlc :
http:// git.videolan.org/gitweb.cgi?p=vlc.git;a=history;f=modules/audio_output/jack.c
cf vlc -l |grep jack and apt-get install vlc-plugin-jack

Unfortunately for me I still cannot use rosegarden & flash with phonon-gstreamer-backend or phonon-gstreamer-xine & jack : no sound !! Only in audacity !!! :// I'm very very disappointed ...

Thanks !

The Phonon-backends Archives
http:// mail.kde.org/pipermail/phonon-backends/

source phonon-vlc-backend
https:// projects.kde.org/projects/kdesupport/phonon/phonon-vlc/activity

source phonon-vlc-gstreamer
https:// projects.kde.org/projects/kdesupport/phonon/phonon-gstreamer/activity

with phonon with pulseaudio support (http://www.pulseaudio.org/wiki/KDE) and pulseaudio's module-jack-sink (https://wiki.archlinux.org/index.php/PulseAudio#PulseAudio_through_JACK_...), it ... should work. The only sound I get is when I click on Test button in Phonon settings with "Jack sink" selected.

I cleaned my session (old files in .pulse) and restart. It now works fine :)

Add new comment