On Wed, Mar 2, 2011 at 7:10 PM, Daniel Mack <zonque at gmail.com> wrote: > > On Feb 26, 2011 10:00 PM, "Sean McNamara" <smcnam at gmail.com> wrote: >> >> Hi, >> >> On Fri, Feb 25, 2011 at 8:28 AM, Maarten Bosmans <mkbosmans at gmail.com> >> wrote: >> > As the patches that make it possible to build pulse on win32 should >> > land in master any moment now, I thought it would be a good time to >> > make the binaries available for download. >> >> This is amazing work! I'm able to play audio from Ubuntu to Win32 over >> a gigabit ethernet crossover cable (to spare the latency of the >> router), using Ubuntu 11.04 on the Linux side. No dropouts. I remember >> doing this a long time ago, but it wasn't nearly as reliable or >> robust. I've tested several simultaneous streams, with no detectable >> problems, with Synergy desktop sharing going over the same connection. > > Interesting! As I'm currently working on a port to Mac OS X, I'm curious if > anyone has plans to add a way to redirect audio from native Windows > applications (ASIO, WDM) to PulseAudio. > > I believe it would be mandatory to hack a kernel driver to provide a virtual > sound card for sinks and sources, just like on OS X. Or you can use the fact that module-waveout supports a source, coupled with a pre-existing Windows device driver that provides a loopback, to do something like this: Windows audio app (DSound, WinMM, WaveOut, KS, WASAPI-Shared, etc.) ==> playback of device which supports loopback Loopback comes out of kernel as a capture channel ==> captured in PA server on Windows via module-waveout ==> module-loopback ==> module-tunnel-sink ==> (network) ==> remote PA server on another computer. Admittedly this is less efficient, but mucking around in the Windows kernel carries around a lot more baggage than with other kernels. You have to get it digitally signed if you want to run it on 64-bit OSes. You have to test it to make sure it works on Windows XP 32-bit, XP 64-bit, Vista/7 32-bit and Vista/7 64-bit. And 99.9999% of Windows users have no idea how to build kernel code (nor do they have the tools to do so), so you have to ship binaries. All in all, a really ugly task that will be difficult to maintain. If you do decide to go the kernel route, make the actual kernel bits as lightweight as possible to be resilient against PA protocol changes and such. Hopefully the kernel bits would be write once, use with any version of PA for a long time to come. I have no need for such functionality because my Windows box is the endpoint of my PA network rather than the origin, so I will not explore this possibility myself. -Sean > > Daniel > > _______________________________________________ > pulseaudio-discuss mailing list > pulseaudio-discuss at mail.0pointer.de > https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss > >