After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 611040 - JACK Audio Server Integration Requires Critical, albeit minor improvement
JACK Audio Server Integration Requires Critical, albeit minor improvement
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
unspecified
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-02-25 05:33 UTC by Shane Reimer
Modified: 2010-11-22 12:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Depicts the JACK control panel where a user must manually connect Rhythmbox's audio sink (24.79 KB, image/png)
2010-02-25 05:33 UTC, Shane Reimer
Details
Gstreamer Config (55.70 KB, image/png)
2010-03-02 01:55 UTC, Shane Reimer
Details
Gstreamer Properties (24.19 KB, image/png)
2010-03-02 02:06 UTC, Shane Reimer
Details

Description Shane Reimer 2010-02-25 05:33:35 UTC
Created attachment 154657 [details]
Depicts the JACK control panel where a user must manually connect Rhythmbox's audio sink

When using Rhythmbox with JACK audio server the Rhythmbox's JACK audio sink name changes when skipping tracks.
ie:
L sink name : "out_jackaudiosink0_1"
R sink name : "out_jackaudiosink0_2"
<skip track>
L sink name : "out_jackaudiosink1_1"
R sink name : "out_jackaudiosink1_2"
<skip track>
L sink name : "out_jackaudiosink2_1"
R sink name : "out_jackaudiosink2_2"
etc.

This means each time an end-user skips tracks they must reconnect the new Rhythmbox audio sink within the JACK control panel to continue hearing audio.  A HUGE inconvenience!

An additional improvement would be to implement a feature similar to VLC where a user can specify within the media player settings to which audio sink the media player shall automatically connect, or to remain unconnected (as Rhythmbox currently operates) by default (unconnected yes, but to remain with a consistent audio sink name).

That said, I give kudos to the developers!  The JACK feature in Rhythmbox runs more reliably than any audio player I have found to date.

Kindly,
Shane Reimer
Comment 1 Jonathan Matthew 2010-02-28 01:09:15 UTC
Rhythmbox actually doesn't know anything at all about JACK.  It's all down to GStreamer.

So, I guess the solution would be for playbin2 to somehow keep the sink in PAUSED state while doing track changes.  I'm not sure how practical that is.
Comment 2 Wim Taymans 2010-03-01 10:17:34 UTC
By default jackaudiosink will automatically connect its port with physical ports.
Are you sure you have no custom config added with gstreamer-properties?
Comment 3 Shane Reimer 2010-03-02 01:55:50 UTC
Created attachment 154996 [details]
Gstreamer Config
Comment 4 Shane Reimer 2010-03-02 02:06:33 UTC
I attached my Gstreamer configuration for audiosinks.  When Rhythmbox plays continually through a list it plays nice, the sink name remains the same no matter how many tracks are played.  The moment I "skip" the sink disappears and reappears under a new name.

IMO, readable clients should not brute force themselves onto the output device because this defeats (in my setup) the fundamental reason for using JACK.  I want flexibility to send audio through filters, or pipe them to a recording device etc. and to have an application brute force onto my sound card makes it unusable.  The vlc interface is nice in that a user can specify what to bind to by default.  My issues with vlc are interface and stability related, Rhythmbox has everything nailed until I skip tracks.
Comment 5 Shane Reimer 2010-03-02 02:06:58 UTC
Created attachment 154997 [details]
Gstreamer Properties
Comment 6 Jonathan Matthew 2010-03-02 02:08:06 UTC
I think I already know the answer here, but do you have crossfading enabled in rhythmbox?
Comment 7 Shane Reimer 2010-03-02 02:28:13 UTC
Thanks for the workaround Jonathan ;-)
Previously not.  However, when enabled and set to 0 seconds fading, the sink name remains the same.
Comment 8 Stefan Sauer (gstreamer, gtkdoc dev) 2010-03-08 15:50:58 UTC
(In reply to comment #2)
> By default jackaudiosink will automatically connect its port with physical
> ports.
> Are you sure you have no custom config added with gstreamer-properties?

For the jack element it would really be useful to keep them in READY (need to test) so that they don't reconnect between songs. I need to make a similar change in buzztard. Even when I stop the playback, I want the jack connection to be there, so that e.g. I can change the routing.
Comment 9 Stefan Sauer (gstreamer, gtkdoc dev) 2010-04-26 19:12:44 UTC
keeping the sink in READY works for me in buzztard. Is this something you can try in rhythmbox. E.g. same think is useful for pulsesink too (just keep a mixer open).
Comment 10 Tobias Mueller 2010-09-10 09:48:42 UTC
Reopening as the information requested in comment 2 has been provided.
Comment 11 Stefan Sauer (gstreamer, gtkdoc dev) 2010-09-10 17:17:56 UTC
So is there anything left that needs fixing?
Comment 12 Stefan Sauer (gstreamer, gtkdoc dev) 2010-11-22 12:31:47 UTC
Please reopen if there is still a problem.