[wdmaudiodev] Re: PC Audio Capture

  • From: Frank Yerrace <Frank.Yerrace@xxxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 7 Jan 2010 19:14:54 +0000

That's correct. The audio data received via the "loopback" interface is the 
output of the system mixer, which is what ultimately goes to the driver. The 
only exception would be in cases where certain content access controls are 
asserted by an application; it's possible for the loopback signal to have 
reduced fidelity in this case. However at this time I know of no application 
that does this.

Frank Yerrace
Microsoft

This posting is provided "AS IS" with no warranties, and confers no rights.

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Tim Roberts
Sent: Thursday, January 07, 2010 9:03 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: PC Audio Capture

Sushma wrote:
> I had already tried as the described in the link you mentioned but the
> audio capture was not satisfactory. The quality of sound was low.

That suggests a misunderstanding or misconfiguration on your part.  You
should be getting the audio in its final form before it goes to the
sound card.

> So, i thought of going for a filter driver. I understand using
> WaveIn/Wasapi API for Vista and Win 7. But my requirement is for Win
> XP as well.
>
> For Win XP i need a filter driver to record the PC audio. Is this
> correct? If so, at what level in audio stack i need this filter driver
> to be present? Any info or samples would be much helpful.
>   

One option is to use a virtual audio device, like the one here:
    http://software.muzychenko.net/eng/vac.html
This creates a new audio device which applications can write to.  The
output of that virtual device is inside an application, which can do
whatever it wants, including forwarding the audio on to real hardware.

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.

For WAVERT devices in Vista and later, this simply cannot be done.  The
audio engine in user-mode writes the data directly to the DMA buffer --
there are no kernel requests to intercept.

-- 
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.

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

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: