[wdmaudiodev] Re: sample rate control on Vista

  • From: "Hakon Strande" <hakons@xxxxxxxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 18 Jul 2006 09:57:35 -0700

DirectSound is a deprecated API along with all the other legacy APIs.

The whole Windows Audio System has been rewritten in user mode to
provide transparency, discoverability, low latency, glitch resilience
and most importantly stability/reliability. The old kernel mode stack is
gone.

Sincerely,

Hakon Strande
PM Integrated, Internal, External, and Wireless Audio Devices
MediaTech/DMD/Windows Client/Microsoft

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jerry Evans
Sent: Tuesday, July 18, 2006 6:21 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: sample rate control on Vista

Hi Larry

Why did you guys decide to go down this route ? Why not simply add a
mode to 
DirectSound such that 'exclusive' access means just that and bypasses
all of 
the high-latency background mixing/samplerate conversion etc. etc ?

Yours curiously

Jerry

----- Original Message ----- 
From: "Larry Osterman" <Larry.Osterman@xxxxxxxxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Tuesday, July 18, 2006 3:12 AM
Subject: [wdmaudiodev] Re: sample rate control on Vista


>
> 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
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > ******************
>> >
>> > 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/
>> >
>> >
>> >
>> > ******************
>> >
>> > 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/
>> >
>> >
>>
>> ******************
>>
>> 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/
>
> ******************
>
> 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/


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

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: