[wdmaudiodev] Re: wdmaudiodev Digest V7 #5

  • From: "David Roach" <david.roach@xxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 11 Jan 2010 22:59:34 -0800

Hi Sushma,

While it is technically possible to accomplish this across XP/Vista/Win7.
There is the additional complication that HD Audio on Vista and Win7
requires the WaveRT driver model, which is used only for HD Audio, but not
for USB audio devices. And of course, WinXP is limited to WaveCyclic or
WavePCI driver models. There is no single approach which can service all the
different scenarios, but with a LOT of work and a bit of luck, you could
probably stitch together a few different solutions so that it appears to
work the same on all the different platforms.

Why would you want to go to all this effort when you can use the audio
loopback interface for each endpoint and capture all of the same
information? You mentioned that it wasn't of sufficient quality at one
point. Can you elaborate?

Best regards,
David Roach
www.optimalsound.net

Sushma  wrote:
Date: Mon, 11 Jan 2010 19:33:42 +0530
Subject: [wdmaudiodev] Re: PC Audio Capture
From: Sushma <sushma.yella@xxxxxxxxx>

Hi Tim,

I'm pretty new to kernel streaming. I see a lot of IOCTL_KS_*
properties but i do not think i need to handle all. Can i find some
info for which properties i need to look into.

Also, one of my question is still unanswered. Can i implement a common
solution for XP/Vista/Wn 7.

I had run the total recorder application. The total recording
application installs a audio class upper filter for XP and Vista. How
is this possible in Vista when app is directly writing to DMA buffer?

On Fri, Jan 8, 2010 at 11:37 PM, Tim Roberts <timr@xxxxxxxxx> wrote:
> Sushma wrote:
>
> Pre-Vista, it is possible to insert an audio class upper filter to
> intercept the kernel streaming ioctls.  It is surprisingly difficult in
> that situation to figure out what format the audio is in every case, so
> plan some frustrating test time.
>
>
> If the implement a audio class upper filter, what IRPs i need to look
> out for capturing the data.
>
>
> All kernel streaming transactions take place in internal ioctls,
> IRP_MJ_INTERNAL_DEVICE_CONTROL.  Data gets transferred with
> IOCTL_KS_READ_STREAM and IOCTL_KS_WRITE_STREAM.  You'll also need to
monitor
> the property exchanges through IOCTL_KS_PROPERTY.  There are a lot of
> properties being exchanged.
>
> If you don't have kernel streaming experience, you have a LOT of reading
to
> do.
>
> --
> Tim Roberts, timr@xxxxxxxxx
> Providenza & Boekelheide, Inc.
>

------------------------------

End of wdmaudiodev Digest V7 #5
*******************************
******************

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

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/




******************

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

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts:

  • » [wdmaudiodev] Re: wdmaudiodev Digest V7 #5 - David Roach