From: mikej on

Hi pro-grammer

what changes needs to be made to IDMAChannel::CopyFrom so that I can capture
the Audio?



"pro-grammer" wrote:

>
> wingka wrote:
> > Hi
> >
> > I want to have a virtual audio driver that sits behind a 3rd party
> > application to 'intercept' the sound input/output.
> >
> > E.g. when that application plays sound, instead of going to the
> > speaker, the audio stream would be captured and processed elsewhere. I
> > may also pump in an audio stream to that application like it's being
> > recorded on a microphone.
> >
> > Is such setup possible with a virtual audio driver? I'm currently
> > looking at the MSVAD sample from DDK. It seems like the kind of thing
> > I'm looking for, but I have a few problems:
> >
> > 1. After installing 'MSVAD (Simple)', when I play sound, I got some
> > small wave files with no audio contents. Why is that so? I made 'MSVAD
> > (Simple)' the default playback driver and play music with iTunes.
>
> change the error log level to blab in the sources.inc file to get more
> info on whats goin on. I hope ur using debugview.
>
> > 2. Is IDmaChannel::CopyTo and IDmaChannel::CopyFrom the two functions I
> > have to work with if I want to capture sound from an application?
>
> yes
>
> > 3. Is developing an virtual audio driver best way for this kind of
> > problem? I'm very new to this kind of things and I don't know if
> > there's another easier way to do it!
>
> dont expect msvad to function as a full fledged audio driver. Use it
> for the sole purpose of storing/processing audio that is not destined
> to be actuall played. when you want to play the data, open an already
> existing audio driver as the waveout destination(this can be done from
> user mode).
>
> if u want the data u r processing to be played too, what u r looking
> for is a filter driver, somthing that sits on top of an already
> existing function driver( msvad is installed as a function driver). A
> filter driver introduces a whole new set of challenges and hurdles. If
> u do succeed in making one, do the world a favour and tell us how u did
> it.
> > Thanks all !!
> >
> > wingka
>
>
From: wpiyong on
On Feb 10, 11:21 pm, mikej <m...(a)discussions.microsoft.com> wrote:
> Hi pro-grammer
>
> what changes needs to be made to IDMAChannel::CopyFrom so that I can capture
> the Audio?
>
>
>
> "pro-grammer" wrote:
>
> > wingka wrote:
> > > Hi
>
> > > I want to have a virtual audio driver that sits behind a 3rd party
> > > application to 'intercept' the sound input/output.
>
> > > E.g. when that application plays sound, instead of going to the
> > > speaker, the audio stream would be captured and processed elsewhere. I
> > > may also pump in an audio stream to that application like it's being
> > > recorded on a microphone.
>
> > > Is such setup possible with a virtual audio driver? I'm currently
> > > looking at the MSVAD sample from DDK. It seems like the kind of thing
> > > I'm looking for, but I have a few problems:
>
> > > 1. After installing 'MSVAD (Simple)', when I play sound, I got some
> > > small wave files with no audio contents. Why is that so? I made 'MSVAD
> > > (Simple)' the default playback driver and play music with iTunes.
>
> > change the error log level to blab in the sources.inc file to get more
> > info on whats goin on. I hope ur using debugview.
>
> > > 2. IsIDmaChannel::CopyToand IDmaChannel::CopyFrom the two functions I
> > > have to work with if I want to capture sound from an application?
>
> > yes
>
> > > 3. Is developing an virtual audio driver best way for this kind of
> > > problem? I'm very new to this kind of things and I don't know if
> > > there's another easier way to do it!
>
> > dont expect msvad to function as a full fledged audio driver. Use it
> > for the sole purpose of storing/processing audio that is not destined
> > to be actuall played. when you want to play the data, open an already
> > existing audio driver as the waveout destination(this can be done from
> > user mode).
>
> > if u want the data u r processing to be played too, what u r looking
> > for is a filter driver, somthing that sits on top of an already
> > existing function driver( msvad is installed as a function driver). A
> > filter driver introduces a whole new set of challenges and hurdles. If
> > u do succeed in making one, do the world a favour and tell us how u did
> > it.
> > > Thanks all !!
>
> > > wingka- Hide quoted text -
>
> - Show quoted text -

Hi Mikej,

I met the same problem when using MSVAD as a virtual capture driver. I
do not know how to use Copyto or copyfrom. I found ways to transfer
audio data to m_pvDmaBuffer allocated when newstream was created, but
as I tested it in graphedit, no sound played out. If you solved this
problem, could you please tell me how to do that or give me a hint.
Thanks in advance.
Yong