[wdmaudiodev] Re: wasapi audioclientproperties

  • From: gordon keith <gordik55@xxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 12 Jun 2014 07:24:54 +0000

thanks

From: Matthew.van.Eerde@xxxxxxxxxxxxx
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: wasapi audioclientproperties
Date: Wed, 11 Jun 2014 22:46:23 +0000









OK, so you’re using a USB audio device.
 
FWIW, on Windows 7 I would expect IMMDevice::Activate(IAudioClient2) to fail; 
IAudioClient2 is a Windows 8.0-and-later thing.
 
Even on Windows 8.0, I would expect IAudioClient2::SetClientProperties(…) to 
fail if you give it an AudioClientProperties object that has .cbSize = 16; in 
Windows
 8.0, sizeof(AudioClientProperties) was 12, not 16, since there was no .Options 
member. Raw mode is purely a Windows 8.1-and-later thing.
 
// audioclient.h
#if (NTDDI_VERSION < NTDDI_WINBLUE)  

typedef struct AudioClientProperties 

{ 

    UINT32                  cbSize; 

    BOOL                    bIsOffload; 

    AUDIO_STREAM_CATEGORY   eCategory; 

} AudioClientProperties; 

#else 

typedef struct AudioClientProperties 

{ 

    UINT32 cbSize; 

    BOOL bIsOffload; 

    AUDIO_STREAM_CATEGORY eCategory; 

    AUDCLNT_STREAMOPTIONS Options; 

} AudioClientProperties;
#endif 

 
                                          

Other related posts: