<p><br>
On Mar 2, 2011 9:32 PM, &quot;Sean McNamara&quot; &lt;<a href="mailto:smcnam@gmail.com">smcnam@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On Wed, Mar 2, 2011 at 7:10 PM, Daniel Mack &lt;<a href="mailto:zonque@gmail.com">zonque@gmail.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; On Feb 26, 2011 10:00 PM, &quot;Sean McNamara&quot; &lt;<a href="mailto:smcnam@gmail.com">smcnam@gmail.com</a>&gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Hi,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On Fri, Feb 25, 2011 at 8:28 AM, Maarten Bosmans &lt;<a href="mailto:mkbosmans@gmail.com">mkbosmans@gmail.com</a>&gt;<br>
&gt; &gt;&gt; wrote:<br>
&gt; &gt;&gt; &gt; As the patches that make it possible to build pulse on win32 should<br>
&gt; &gt;&gt; &gt; land in master any moment now, I thought it would be a good time to<br>
&gt; &gt;&gt; &gt; make the binaries available for download.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; This is amazing work! I&#39;m able to play audio from Ubuntu to Win32 over<br>
&gt; &gt;&gt; a gigabit ethernet crossover cable (to spare the latency of the<br>
&gt; &gt;&gt; router), using Ubuntu 11.04 on the Linux side. No dropouts. I remember<br>
&gt; &gt;&gt; doing this a long time ago, but it wasn&#39;t nearly as reliable or<br>
&gt; &gt;&gt; robust. I&#39;ve tested several simultaneous streams, with no detectable<br>
&gt; &gt;&gt; problems, with Synergy desktop sharing going over the same connection.<br>
&gt; &gt;<br>
&gt; &gt; Interesting! As I&#39;m currently working on a port to Mac OS X, I&#39;m curious if<br>
&gt; &gt; anyone has plans to add a way to redirect audio from native Windows<br>
&gt; &gt; applications (ASIO, WDM) to PulseAudio.<br>
&gt; &gt;<br>
&gt; &gt; I believe it would be mandatory to hack a kernel driver to provide a virtual<br>
&gt; &gt; sound card for sinks and sources, just like on OS X.<br>
&gt;<br>
&gt; Or you can use the fact that module-waveout supports a source, coupled<br>
&gt; with a pre-existing Windows device driver that provides a loopback, to<br>
&gt; do something like this:</p>
<p>But such a driver doesn&#39;t exist yet, correct?</p>
<p>&gt; Windows audio app (DSound, WinMM, WaveOut, KS, WASAPI-Shared, etc.)<br>
&gt; ==&gt; playback of device which supports loopback<br>
&gt;<br>
&gt; Loopback comes out of kernel as a capture channel ==&gt; captured in PA<br>
&gt; server on Windows via module-waveout ==&gt; module-loopback ==&gt;<br>
&gt; module-tunnel-sink ==&gt; (network) ==&gt; remote PA server on another<br>
&gt; computer.<br>
&gt;<br>
&gt; Admittedly this is less efficient, but mucking around in the Windows<br>
&gt; kernel carries around a lot more baggage than with other kernels. You<br>
&gt; have to get it digitally signed if you want to run it on 64-bit OSes.<br>
&gt; You have to test it to make sure it works on Windows XP 32-bit, XP<br>
&gt; 64-bit, Vista/7 32-bit and Vista/7 64-bit. And 99.9999% of Windows<br>
&gt; users have no idea how to build kernel code (nor do they have the<br>
&gt; tools to do so), so you have to ship binaries. All in all, a really<br>
&gt; ugly task that will be difficult to maintain.</p>
<p>I know, Windows is a total disaster, especially in kernel space. We had so much trouble with driver development already, it&#39;s unbelievable. However, it would maybe suffice to just support some versions of Windows, and skip the legacy.</p>

<p>&gt; If you do decide to go the kernel route, make the actual kernel bits<br>
&gt; as lightweight as possible to be resilient against PA protocol changes<br>
&gt; and such. Hopefully the kernel bits would be write once, use with any<br>
&gt; version of PA for a long time to come.</p>
<p>It should be completely independent from PA and just function as a loop-trough virtual device which communicates with the userspace via a simple protocol (for sample rate configuration etc) and exports its audio buffers as shared memory.</p>

<p>A userspace part would then be in charge to connect this interface to PulseAudio.</p>
<p>I personally have no clue about Windows development, and I would like to keep it that way. Any volounteers with appropriate knowledge? :-)</p>
<p>Daniel</p>