[wdmaudiodev] Re: sample rate control on Vista

  • From: Andrew Elder <aelder@xxxxxxxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 18 Jul 2006 08:58:12 -0400


Are the "Core Audio APIs" going to be supported in future (ie post Vista) OSes ?


- Andrew

Larry Osterman wrote:

Core Audio APIs in Windows Vista:  
http://windowssdk.msdn.microsoft.com/en-us/library/ms678710.aspx


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 stephen turner Sent: Monday, July 17, 2006 7:09 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: sample rate control on Vista



Is this API documented anywhere yet?



Thanks Jeff. This was going to be my next question. All I can find is:

http://blogs.msdn.com/larryosterman/archive/2005/12/07/501306.aspx

-steve
----------------------
Stephen Turner
AudioScience, Inc.
www.audioscience.com

-------- Original Message --------


From: "Jeff Pages" <jeff@xxxxxxxxxxxxxxxx>
Sent: Monday, July 17, 2006 6:26 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: sample rate control on Vista

Is this API documented anywhere yet?

Jeff

----- Original Message -----
From: "Hakon Strande" <hakons@xxxxxxxxxxxxxxxxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Tuesday, July 18, 2006 9:51 AM
Subject: [wdmaudiodev] Re: sample rate control on Vista




Windows Audio Session API

The Vista low level audio APIs

HakonS

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Stephen Turner
Sent: Monday, July 17, 2006 4:47 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: sample rate control on Vista



3. However, if an app uses the new WASAPI API in exclusive mode


What the heck is WASAPI?.
------------------------
Stephen Turner
AudioScience, Inc.
www.audioscience.com

----- Original Message -----
From: "Dugan Porter" <duganp@xxxxxxxxxxxxxxxxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Monday, July 17, 2006 4:40 PM
Subject: [wdmaudiodev] Re: sample rate control on Vista


Hi Nikolay. Here's a multi-part answer for you:

1. There is no programmatic way for an app to set the mmsys.cpl capture
rate, because the Vista philosophy is that no audio app can make
configuration changes that affect any other apps.  The setting in
mmsys.cpl
is only meant to be changed by the user.

2. If an app uses the legacy APIs (waveIn and DirectSoundCapture) to
capture
audio at a rate other than mmsys.cpl's, the system will convert from the
mmsys.cpl rate to the app's requested rate using a sample rate
converter.

3. However, if an app uses the new WASAPI API in exclusive mode (by
using
the AUDCLNT_SHAREMODE_EXCLUSIVE flag), it can open the device in any
format
supported by the driver, and no SRC will be used.  The downside is that
no
other app will be able capture audio.

4. If you need to use a legacy API, you can at least *discover* the
system
capture rate setting using the new Vista APIs, and then capture at that
rate, to avoid the SRC; however this doesn't let you *control* the rate.

Hope that helps -
Dugan Porter - Game Audio Team - 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 Nikolay V. Pyatkov Sent: Sunday, July 16, 2006 3:22 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] sample rate control on Vista

Hi,

We have an input only WDM portcls audio driver on Vista 5456. The driver
can
support 48,000 and 44,100 sample rate. The application needs to open
this
driver at 48,000. Here is the code:

WAVEFORMATEX wf;
wf.wFormatTag = WAVE_FORMAT_PCM;
wf.nChannels =  2;
wf.nSamplesPerSec = 48000;
wf.nAvgBytesPerSec = 192000;
wf.nBlockAlign = nBlockAlign;
wf.wBitsPerSample = UCODEC_BIT_PER_SAMPLE_PCM;
wf.cbSize = 0;

mmResult = waveInOpen(
&m_hWaveIn,
nInputDeviceId,
&m_WaveFormat,
(DWORD_PTR)m_hWaveInEvent,
0,
CALLBACK_EVENT);

mmResult is 0.

But the trace in the driver shows:

00000431 9.63108540 ValidatePcm :
00000432 9.63109016 ---- cbSize         = 22
00000433 9.63109398 ---- nChannels      = 2
00000434 9.63109875 ---- nSamplesPerSec = 44100
00000435 9.63110352 ---- wBitsPerSample = 16

The Vista audio subsystem took the parameters from "Audio
Devices->Recording->My Device->Properties->Options" .If I manually
modify
value in the Options panel Vista will use the value to open my device.

I tried to check/uncheck "exclusive control" box. Does not help. How do
I
get
control over the bit rate back to the application?

Thanks,
Nikolay





Other related posts: