[wdmaudiodev] Re: sample rate control on Vista

  • From: Larry Osterman <Larry.Osterman@xxxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 18 Jul 2006 11:17:33 -0700

Dugan is correct.

There's a value that can be specified in the INF file that allows the driver to 
specify its preferred format.

Unfortunately, I don't have access to the name or format of that parameter; it 
will be in the Vista DDK.



Larry Osterman
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 Dugan Porter
Sent: Tuesday, July 18, 2006 10:31 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: sample rate control on Vista

I *believe* that Vista looks at the actual hardware formats supported by
the driver, and only lists those in the mmsys.cpl dropdown.  I also
*believe* that the driver can express its preferred format when it is
installed, and the system will default to that.  But I'm not at all
certain of these beliefs - please don't take them on trust unless
they're confirmed by someone on the team that actually owns this area (I
only own DirectSound)...

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

Related to this, I was wondering if there's any way the driver can
indicate
its preferred default sampling rate and bit depth, or does Vista always
set
this to 44.1kHz 16-bit regardless of the capabilities of the hardware.

Jeff Pages
Innes Corporation Pty Ltd

----- Original Message -----
From: "Dugan Porter" <duganp@xxxxxxxxxxxxxxxxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Tuesday, July 18, 2006 9:40 AM
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/

Other related posts: