<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Tue, Jul 28, 2015 at 11:15 PM Tanu Kaskinen <<a href="mailto:tanuk@iki.fi">tanuk@iki.fi</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Jul 29, 2015, at 08:44, Andrew Kelley wrote:<br>
> Screenshot of problem: <a href="http://i.imgur.com/ENpSCoG.png" rel="noreferrer" target="_blank">http://i.imgur.com/ENpSCoG.png</a><br>
<br>
I see no problem there.</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> I believe by default the PulseAudio JACK Sink and PulseAudio JACK Source<br>
> are switched around.<br>
><br>
> In PulseAudio lingo, "Sink" means an output device, and "Source" means an<br>
> input device. Yet, the Sink is registered as a readable client and the<br>
> Source is registered as a writable client, which is backwards.<br>
<br>
It's not backwards. Let's say that we have a music player that connects<br>
to pulseaudio. The user wants the audio from the music player to go to<br>
the speakers, and the speakers are under the control of jack. Inside<br>
PulseAudio there needs to be a sink where the music player's playback<br>
stream can connect. When the audio gets from the player to the sink, the<br>
next problem is to get the audio from the sink to the speakers, which<br>
are represented by two input ports in jack. In jack, audio flows from<br>
output ports to input ports, so PulseAudio needs to create two output<br>
ports. So, the audio flow becomes: music player -> (pulseaudio sink -><br>
jack output ports) -> jack input ports. The part in parentheses<br>
represents the part that the jack sink module in PulseAudio implements.<br></blockquote><div><br></div><div>After squinting my eyes for a few minutes, I see how it is supposed to work, and it makes sense. I apologize for the mistake and taking your time.</div><div><br></div><div>This code was written many years ago; of course if there was such an obvious problem someone would have seen it and fixed it by now.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> I think this happened because when you register a port,<br>
> JackPortIsOutput/JackPortIsInput is relative to the server, not the<br>
> client.<br>
> See:<br>
> <a href="https://github.com/jackaudio/example-clients/blob/master/simple_client.c#L121" rel="noreferrer" target="_blank">https://github.com/jackaudio/example-clients/blob/master/simple_client.c#L121</a><br>
><br>
> Indeed, applications are happily outputting to PulseAudio, but they go<br>
> silent when I turn the JACK server on. This is explained by my hypothesis<br>
> above.<br>
<br>
There is some other explanation for the silence. Do the applications get<br>
automatically moved to the jack sink?</blockquote><div><br></div><div>This was a good clue, I looked at pavucontrol and switched the applications to the JACK sink and the audio is correctly routed to the speakers.</div></div></div>