[wdmaudiodev] Re: Advertising an APO as supporting 7.1 Surround Sound

  • From: Nanda Kutty <nkutty@xxxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Mon, 9 Nov 2015 07:53:11 -0800

I believe my only option here is to create a kernel mode driver
and:override the handlers for KSPROPERTY_PIN_DATARANGES and
KSPROPERTY_PIN_DATAINTERSECTION.
I don't see any other alternative.


On Sat, Nov 7, 2015 at 9:24 AM, Nanda Kutty <nkutty@xxxxxxxxxxxx> wrote:

My understanding is that games use one of the following to query whether
the default device has multi-channel capabilities:
- IDirectSound::GetSpeakerConfig
or
- IXAudio2MasteringVoice::GetVoiceDetails and check under
XAUDIO2_VOICE_DETAILS::InputChannels

If you just have a DirectSound device, and you call GetSpeakerConfig, I
don't even think an LFX APO is even loaded yet as no stream is present.

It certainly appears that the "Speaker Setup" wizard simply uses registry
settings to determine device capabilities, and does not actually load the
APO.

I tried creating an entry "PKEY_AudioEndpoint_PhysicalSpeakers" set to
KSAUDIO_SPEAKER_7POINT1 with as an endpoint property in the INF, but that
didn't do anything.





On Sat, Nov 7, 2015 at 2:58 AM, Matthew van Eerde <
Matthew.van.Eerde@xxxxxxxxxxxxx> wrote:

Yes and no. It depends on the higher-level API the app is using.



Apps which use Media Foundation (or APIs that internally use Media
Foundation) go through the Media Foundation Streaming Audio Renderer. This
calls IAudioClient::IsFormatSupported.



But apps which use DirectSound do not.



There are various versions of XAudio2. Some (possibly all?) of these
behave the way DirectSound does.



*From:* wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:
wdmaudiodev-bounce@xxxxxxxxxxxxx] *On Behalf Of *M'hand BOUGHIAS
*Sent:* Saturday, November 7, 2015 12:56 AM
*To:* wdmaudiodev@xxxxxxxxxxxxx
*Subject:* [wdmaudiodev] Re: Advertising an APO as supporting 7.1
Surround Sound



Hi , the application can open a 71 audio on a stereo device if the
IsInputFormatSupported succeeds. Instead of trying to open a stream with
the mixer (device) format, applications should try to open a stream with
the media format.

Regards.


M'hand BOUGHIAS
------------------------------

*De : *Nanda Kutty <nkutty@xxxxxxxxxxxx>
*Envoyé : *‎07/‎11/‎2015 02:21
*À : *wdmaudiodev@xxxxxxxxxxxxx
*Objet : *[wdmaudiodev] Advertising an APO as supporting 7.1 Surround
Sound

'm working on an APO that has surround sound capabilities. However, when
enumerated via XAudio2 or DirectSound, the device only shows up with
"stereo" capabilities.



Furthermore, when I select "Configure" in the audio properties, I only
see "Stereo" under the Audio Channels list and only 2 speakers can be
tested. I'd like it to say "7.1 Surround"/



Do I need to define a set of endpoint properties in the INF?



thanks,

nanda



Other related posts: