[wdmaudiodev] Re: What would you Recommend for Testing a Virtual Audio Driver?

  • From: "Don Bell" <0dbell@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 27 Mar 2007 10:29:29 -0500

Wow! Thank you so much, Giuseppe and Matt. Your answers help me focus on
what I need to learn for the task at hand. I am glad to get a confirmation
for my intention to jump directly to DirectSound (the documenation, samples
and tutorials are so good!) for the application side of the prototype I need
to develop.

As for your question, Matt - I wasn't aware of Virtual Audio Cable, but I
knew about something similar called TotalRecorder. Your idea of using
existing audio apps is great and I intend to use it. And since I need to
write the application side as well I will follow Giuseppe's advice too.
Thanks for providing that tip about CopyTo and CopyFrom (I am assuming you
were referring to the methods of IDmaChannel, right?).


On 3/26/07, Matt Gonzalez <matt@xxxxxxxxxxxxx> wrote:

Hi Don-

I was wondering - are you familiar with Virtual Audio Cable?  It's a
driver that already does what you describe.   What you're attempting is
a daunting task.

To answer your other questions, I would simply use existing audio apps
such as Sound Forge and Media Player - send a sine wave into your driver
with Media Player, and record it with Sound Forge.   Sound Forge has a
built-in glitch detector that you can use to easily find errors.

Wave and DirectSound are both supported for 32 bit and 64 bit Windows.
From your driver's point of view, there's no difference - you simply
present a kernel streaming filter and the Windows APIs layer on top of

Good luck!


Don Bell wrote:
> I am currently facing a very difficult task of concocting a working
> virtual audio device driver *prototype* within a week...
> It can crash, have lots of bugs, not fully featured, etc. but it has
> to be able to demonstrate simultenaous bidirectional input/output.
> My main problem is that the device driver is not tied to real
> hardware, but rather is supposed to receive its input from and play
> its output to an external (user mode) program.
> If it were a device driver for real hardware, I would simply fire up
> an existing application like Microsoft Sound Recorder (yes, that
> simple app that comes with any version of Windows), record
> myself, play it back and verify that I have satisfactory results (for
> this stage only - I know that tests should be much more thorough than
> this).
> But with no microphone & speaker, how do I test it without writing an
> entire win32 application? Is there a tool that can help test a device
> driver at such early stage? Something that would compare buffers,
> streams, etc.?
> And if I have to write such a test application, what would you
> recommend for using as an API? The old venerable waveOut/waveIn API or
> the newer & supported (for 64-bit) DirectSound API?
> Are there any special requirements for an audio device driver to
> support DirectSound (vs. supporting the old wave* API)?
> Please pardon my inability to hide my current ignorance in the
> subject. I could spend weeks reading the thousdands of pages of
> documentation of the various SDKs, but I am hoping to take a shortcut
> by using samples as much as possible, getting some general guidance
> and tips from you - and later invest significant time and effort in
> understanding things as thoroughly as possible (and practicle).
> Are these questions you could answer?
> Thanks in advance!
> Don


WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx


Other related posts: