duncanthrax / scream

Virtual network sound card for Microsoft Windows
Microsoft Public License
1.74k stars 144 forks source link

Could scream be implemented as Audio Processing Object (APO)? #93

Open mincequi opened 4 years ago

mincequi commented 4 years ago

Hi, i just wonder, why scream is realized as sound card driver (instead of an APO). Using APO the code could run in user-mode. Actually, i tried to realize that, so that streaming runs in context auf "audiodg.exe". Unfortnately, i was not able to send UDP packets using this way. Maybe you have any hints?

duncanthrax commented 4 years ago

I didn't want a userspace solution, that would only introduce latency and processing overhead. Also you would still need an audio driver, or Windows won't play any sound at all.

I think there are a lot of existing userspace solutions for bridging audio over ethernet when you have an existing sound card.

Sending UDP from userspace should be straightforward using standard winsock functions.

mincequi commented 4 years ago

Ok, i see your point.

My guess was, that you tried a user-space solution as well.

Yes, i tried to use standard socket functions, but that doesn‘t work within an APO, while exactly same code works in a test Application. So, i was wondering, if the windows audio processing daemon (audiodg.exe) does not allow networking at all...