Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

AVStream driver - audio playback

71 views
Skip to first unread message

Alain Sauve

unread,
Mar 20, 2003, 11:32:07 AM3/20/03
to
I have written an AVStream based audio/video capture driver based on the
Avssamp filter-centric capture driver sample that came with the DDK. I have
modified the sample driver to work with our custom PCI board. Briefly,
without getting into the details, I've converted that sample into an
interrupt driven driver where audio and video frames captured by our PCI
board get buffered in my interrupt service routine, and
KsFilterAttemptProcessing is called to get the KSFILTER_DISPATCH 'process'
routine to process the data.

I've written also written a simple Direct Show client application that plays
back the audio and video captured by the PCI Board and driver.

Our custom board, however, not only captures audio and video, it can also
play back audio assuming I can figure out how to hand it the raw audio
samples from the client side of the world.

Q: How can I possibly pass audio samples collected from a user mode
application to this AVSteams capture driver and have them processed by my
driver? (This client application is also running the filter graph that is
playing back the audio and video captured by the card.)


Arnaud G.

unread,
Mar 20, 2003, 1:41:17 PM3/20/03
to

If you provide a filter with an output audio pin and an input audio pin, and
you implement a mixer (this is mostly a bunch of topology nodes with their
properties), then you can register you driver as a regular audio driver (see
the DDK Kernel Streaming Audio section for that). This will cause KMixer to
wrap around your filter (adding missing DirectSound capabilities,
resampling, mixing etc...), but this will also cause your device to be
recognized as an audio device. As an audio device, any application in the
system will be able to playback/record from your device using one of the
standard audio APIs or DirectShow. Also if your topology is correct, the
task bar mixer will be enabled and you will be able to configure your device
with it, like any other audio device.

However, be prepared for many hours of trials and errors if this is the
first time you do that. Getting the mixer topology right and the correct pin
categories right might take you a while and a lot of reading between the
lines and reverse engineering of the samples. A great way to learn is to
actually look at existing Kernel Streaming Audio devices (topology, ranges,
pin categories etc...) using the KsStudio tool part of the DDK.

Good luck,
Arnaud.

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Arnaud Glatron

ZMagic Corporation
Your solution to system software for Windows
We do Magic so that you succeed!
AVStream a specialty...

Sunnyvale, CA
USA

Web: http://www.ZMagicCorp.com
Find more tips at: http://www.zmagiccorp.com/Tips_and_tricks.htm

"Alain Sauve" <MS...@MarchNetworks.com> wrote in message
news:eNrlA5v7...@TK2MSFTNGP10.phx.gbl...

0 new messages