79295540

Date: 2024-12-19 20:44:04
Score: 0.5
Natty:
Report link

After familiarizing myself with the Core Audio API (and noting that the only formats supported by both API's are exactly those supported natively by the audio device), I think it's obvious that:

Calling IAudioClient::Initialize with AUDCLNT_SHAREMODE_EXCLUSIVE will change the ADC output format.

Changing the shared mode audio format in the settings app will also change the ADC output format. You can retrieve the shared mode audio format from an IMMDevice through it's property store using the key PKEY_AudioEngine_DeviceFormat. So maybe it's possible to change this programmatically, by setting the IPropertyStore (or possibly by changing values in the windows registry).

I'm still a bit unclear of the behaviour of AudioDeviceInputNode when creating with AudioncodingProperties different from that shared mode format. Does it get exclusive access to the device, does it change the shared mode format, does it fail, or does it resample. And how to tell these apart?

Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Ends in question mark (2):
  • Self-answer (0.5):
  • High reputation (-1):
Posted by: Tom Huntington