[LAU] getting gstreamer and jack to play ball

Jeremy Jongepier jeremy at autostatic.com
Mon Feb 1 14:46:50 UTC 2016


On 01/29/2016 11:46 PM, theo wrote:
> Hi,
> 
> First of all, let me introduce myself. I'm Theo, and while I'm new to
> linux audio, I'm not new to linux perse (20+Y), and in general can find
> my way around the system quite easily. Up until recently I've not had
> much reason to delve into linux audio as It "just worked" for what I use
> it for - listening to music while doing stuff behind the PC - which I
> happen to do quite often as I'm working as a geneticist/bio-informatician.
> 
> And then something changed. I bought a new laptop, and found the audio
> quality "lacking" to say the least. So I went to the shop and got myself
> a USB external sound card with reasonable sound quality and - worth
> bonus points - a 6.35mm headphone jack instead of a 3.5mm jack, a volume
> control dial and an extra pair of rca outputs so I can also connect it
> to my stereo. I plugged it in and found out it didn't "just work".
> 
> So I started reading up and was stupefied - it was an alien world to me,
> with a new language (ok, new slang) and apparently several "competing"
> ways of doing things. To make this manageable for myself I decided to
> take things one step at a time. I first installed jack/qjackct, qsynth
> and found a midi keyboard and got it to produce sound after some small
> tweaks. Things have definitely changed a great deal since I last handled
> a DX7 - and it was great fun. In the process I found out that channel 1
> and 2 of my USB sound thingy went to the rca outputs and channel 3 and 4
> to the headphone jack. No problem.
> 
> Then I started gstreamer - no output. So I made some more tweaks as per
> google's suggestions, then gstreamer outputs appeared in qjackctl, and
> after making the necessary connections from gstreamer to outputs 3 and 4
> I had sound again. Great. Then the next song started playing and the
> sound ceased. So I made the connections again in qjackctl and I had
> sound again. This happened a few times, I got a bit annoyed and
> discovered the patch bay. I tried it, and it didn't work on my usb
> thingy while it worked flawlessly on my built-in sound card. Every time
> a new song started, the connections in qjackctl automatically reverted
> to output channels 1 and 2 (rca jacks) and disconnected channels 3 and 4
> (headphone) even though there was a patch-bay active. Now, I was almost
> ready to file a bug report when I noticed that the patch bay did work
> after a restart of gstreamer - for one song only.
> 
> It was then that I realized that every song a new out_jackaudiosinkN_1
> and out_jackaudiosinkN_2 appeared in qjackctl, with N an increasing
> integer. So in the patch bay I added out_jackaudiosink2_1,
> out_jackaudiosink2_2, out_jackaudiosink5_1 and out_jackaudiosink5_2, and
> connected them to my headphone outputs, and sure enough, after every
> restart of gstreamer I could hear the second and fifth number, while all
> other songs were silent. Quite a bit of fiddling later I found out that
> one can actually use regular expressions in the patch-bay. Connecting
> out_jackaudiosink[0-9]+_1 and out_jackaudiosink[0-9]+_2 to channel 3 and
> 4 works. Wonderful. I now reliably get output through my headphones
> after a new song starts. Only thing is that now I get four connections -
> the (apparently) default connections to channels 1 and 2 are also
> reconnected every time a new song starts.
> 
> So, to come to my questions:
> - Am I the only one using 4-channel external USB sound card with
> gstreamer? When I saw it's specs I was convinced that everyone would
> want one as a sort of "audio docking station" - better quality audio and
> no more annoying physical (un)plugging to re-route audio through an
> amplifier on the wrong side of the room instead of headphones.
> - What is the point of this (re-)connection behaviour of gstreamer? -
> gstreamer doesn't suddenly become a "new device" when it starts playing
> a new song.
> - I guess gstreamer does the out_jackaudiosinkN_x numbering, correct?
> VLC seems to handle this differently (and this is actually how I found
> out about the regular expressions)
> - How can I tell the software (gstreamer + jack) to do what I want and
> not more? Simply a connection from gstreamer to my headphones (channel 3
> and 4), and NOT to my RCA connectors as well unless I tell it to. This
> last question may appear a bit mute as it now "just works" in my main
> use case (headphones), but it bugs me that I have a device that would
> perfectly allow me to keep my amplifier plugged in ready to roll at a
> software flick of switch, but if I would, every new song starting would
> automatically come blaring out of my speakers. I guess that others have
> bumped in this as well - in particular people doing DJ-ing from from
> linux (do they exist?) would get very annoyed by sound coming out the
> wrong way every time a new song starts.
> - I found little in terms of usable documentation for multi-output
> set-ups. I'm for instance not convinced that I would be able to
> configure the system to use both on-board and external usb sound-cards
> simultaneously. Did I miss something here? Can anyone point me to some
> relevant documentation or is there a real issue here? Also the regular
> expressions bit - quite neat - but I just stumbled upon its' use in
> another program, and is not something I read about.
> 
> In general I'm both impressed by and worried about the state of linux
> audio - a lot is possible but to get things working is (imho) much
> harder than it should be.

Hello Theo,

Welcome to the list! Why would you need Gstreamer and JACK for playing
songs? Why not just use PulseAudio? Or am I missing something?

Jeremy


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-user/attachments/20160201/aac4e33c/attachment.pgp>


More information about the Linux-audio-user mailing list