Msvad is good sample in wdk 8.0. You can create virtual capture device and
adapter driver for it.
On Jun 12, 2015 9:12 PM, "Thomas Terhaar" <thomas.terhaar@xxxxxxxxxxxxx>
my employer asked me to research the possibility of a very specific task:
Is it possible to write a driver that takes multiple audio signals (at
least 2), mix the audio signals and expose the result as a single (virtual)
A bit of background :
We have created a web-based video-chat platform where a web site visitor
can initiate a video-chat with an advisor to discuss things.
The functionality to start a video-chat is embedded into the web site of
our customers (Telecom providers, Banks, Insurance companies,… to name a
The Audio/Video streaming stuff is handled by a Flash module or WebRTC
One of our customers now wants to do the following :
The advisor gets a call from a web site visitor, they start talking.
The discussion becomes more specific and the advisor wants to consult a
colleague/supervisor by calling him over a SIP-Softphone.
The web site visitor should be able to follow the discussion, so we
somehow have to be able to route the audio from the SIP-Phone to the
customer over the wire !
The gotcha here is, the SIP-Phone typically doesn’t offer any kind of
audio-device, it receives the audio over the network and renders it
directly to an audio-output.
So the driver I’m envisioning should have the following abilities :
- Take an audio input device (typically a microphone from a
headset) and the default audio-output device (loopback) as input
- Mix the signals
- Expose the result as a virtual microphone that can be selected
in Flash and WebRTC-enabled Browsers as input,
so the customer receives the mixed signal from the advisors (and also
himself because of loopback; that’s an issue I’m aware of)
Is this possible at all ?
I’m working (mainly) as a C# developer (with some C/C++ background) but I
have ZERO experience regarding Windows driver development,
so any hint on where to start is much appreciated !
Just finished downloading the WDK and the Samples-Pack, can you recommend
some examples to have a deeper look into ?