[pulseaudio-discuss] Windows binaries
smcnam at gmail.com
Wed Mar 2 16:31:23 PST 2011
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:
>> On Fri, Feb 25, 2011 at 8:28 AM, Maarten Bosmans <mkbosmans at gmail.com>
>> > 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
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.
> pulseaudio-discuss mailing list
> pulseaudio-discuss at mail.0pointer.de
More information about the pulseaudio-discuss