<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">I'm not sure if I understood completely, but If your recording app cannot record via pulseaudio at all, then I don't know how to solve this with pulseaudio.<div><br></div><div>If your recording app CAN record via pulseaudio, then of course you can also use "pactl" to move sinks and sources with "move-sink-input" and "move-source-output" commands headless from command line/script/whatever.</div><div><br></div><div>Example: I have my audio player "audacious" playing to pulseaudio, have "pacat -r " recording from pulseaudio and I've loaded a null-sink module.</div><div><br></div><div>Let's look around in pulseaudio</div><div><br></div><div><div>$ pactl list clients short</div><div>[...]</div><div>36      protocol-native.c       pacat<br></div><div>57      protocol-native.c       audacious</div><div>[...]</div></div><div><br></div><div><div>$ pactl list sinks short </div><div>0       alsa_output.pci-0000_00_1f.3.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       RUNNING</div><div>[...]</div><div>4       null    module-null-sink.c      s16le 2ch 44100Hz       IDLE<br></div></div><div><br></div><div><div>$ pactl list sources short </div><div>0       alsa_output.pci-0000_00_1f.3.analog-stereo.monitor      module-alsa-card.c      s16le 2ch 44100HzRUNNING</div><div>[...]</div><div>4       null.monitor    module-null-sink.c      s16le 2ch 44100Hz       RUNNING<br></div></div><div><br></div><div>Now lets see where audacious (Client 57) is playing to:</div><div><br></div><div><div>$ pactl list sink-inputs short</div><div>[...]</div><div>8       0       57      protocol-native.c       float32le 2ch 44100Hz<br></div></div><div><br></div><div>Well client 57 has a sink-input 8 which it uses to play to sink 0. That's my soundcard, d'oh! So let's move it to sink 4, the null sink.</div><div><br></div><div>$ pactl move-sink-input 8 4</div><div><br></div><div>Now audacious plays to the null sink. Good. Now let's look at the recording app pacat, client 36:</div><div><br></div><div><div>$ pactl list source-outputs short</div><div>[...]</div><div>16      0       36      protocol-native.c       s16le 2ch 44100Hz<br></div><div>[...]</div></div><div><br></div><div>Okay, with its source-output 16 it records from my soundcard (source 0) instead of null.monitor (source 4). So let's move this, too:</div><div><br></div><div>$ pactl move-source-output 16 4<br></div><div><br></div><div>Et voila, I'm recording with pacat, what my audacious player is playing.</div><div><br></div><div>Hope that helps.</div><div><br></div><div>Regards,</div><div>Daniel</div></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">Am Fr., 9. Nov. 2018 um 08:41 Uhr schrieb Zoltán Szabó <<a href="mailto:zoell@zoell.us">zoell@zoell.us</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi <span style="font-family:sans-serif">Daniel,</span></div><div dir="ltr"><span style="font-family:sans-serif"><br></span></div><div><span style="font-family:sans-serif">I am running these in console. I don't have GUI. app01 that should use the monitor is Chrome in headless mode and it just simply not able to open the monitor. It can open and use a pipe source or virtual source but not a null sink's monitor :(</span></div><div><span style="font-family:sans-serif"><br></span></div><div><span style="font-family:sans-serif">Zoltan</span></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Nov 9, 2018 at 5:30 AM Daniel <<a href="mailto:windseeker@gmx.de" target="_blank">windseeker@gmx.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="auto"><div>Hi <span style="font-family:sans-serif">Zoltán,</span></div><div dir="auto"><font face="sans-serif"><br></font></div><div dir="auto"><font face="sans-serif">Since years now I successfully use the way you mentioned in "P.S.". I play to a null sink and record from its monitor.</font></div><div dir="auto"><font face="sans-serif"><br></font></div><div dir="auto"><font face="sans-serif">I'm not sure why app02 should not be able to connect to this monitor. </font><span style="font-family:sans-serif">If app02 is recording from PA in general, independent of "from where", then it should show in pavucontrol in the "recording" tab. There you can set it's input source to the null sink monitor where app01 plays to.</span></div><div dir="auto"><font face="sans-serif"><br></font></div><div dir="auto"><font face="sans-serif">Regards,</font></div><div dir="auto"><font face="sans-serif">Daniel<br></font><br><div class="gmail_quote" dir="auto"><div dir="ltr">Am Do., 8. Nov. 2018, 19:50 hat Zoltán Szabó <<a href="mailto:zoell@zoell.us" target="_blank">zoell@zoell.us</a>> geschrieben:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Hi,</div><div><br></div><div>I would like to connect my app01's audio output to my app02's microphone.</div><div><br></div><div>Here is what I have tried so far:</div><div><br></div><div>I create a file pipe sink for my app01:</div><div>load-module module-pipe-sink sink_name=pa_speaker_app01 file=/home/pulseaudio/pa_speaker_app01 format=ulaw rate=8000 channels=1</div><div><br></div><div>I create a file pipe sink for my app02:</div><div>load-module module-pipe-sink sink_name=pa_speaker_app02 file=/home/pulseaudio/pa_speaker_app02 format=ulaw rate=8000 channels=1</div><div><br></div><div>This way both of my apps have an available output device.</div><div><br></div><div>I create a virtual source as a mic for my other app01 and 02:</div><div>load-module module-virtual-source source_name=pa_virtual_source_app01 uplink_sink=pa_speaker_app02</div><div>load-module module-virtual-source source_name=pa_virtual_source_app02 uplink_sink=pa_speaker_app01</div><div><br></div><div>This way anything played on pa_speaker_app02 should be routed to the app01's microphone pa_virtual_source_app01, right? Also should be true for app01 to app02.</div><div><br></div><div>So I start my app01 and 2:</div><div>PULSE_SOURCE=pa_virtual_source_app01 PULSE_SINK=pa_speaker_app01 ./startapp01</div><div>PULSE_SOURCE=pa_virtual_source_app02 PULSE_SINK=pa_speaker_app02 ./startapp01</div><div><br></div><div>But this is not working at all. Is this not the right approach? I can see in the PA logs that the apps are connected successfully to PA.</div><div><br></div><div>PS: I also tried to crate a null sink, but app01 (it is actually chrome) is not able to open the null sink's monitor as a mic.</div><div><br></div><div>Thanks</div><div>zoell</div><div><br></div></div></div>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@lists.freedesktop.org" rel="noreferrer" target="_blank">pulseaudio-discuss@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss</a><br>
</blockquote></div></div></div>
</div>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@lists.freedesktop.org" target="_blank">pulseaudio-discuss@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss</a><br>
</blockquote></div>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@lists.freedesktop.org" target="_blank">pulseaudio-discuss@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss</a><br>
</blockquote></div>