The Sound control panel's "Advanced" tab lists all of the formats supported by
the hardware; APOs can add to this.
The SysVad sample driver shows how to add custom non-PCM formats that the APO
and the hardware both understand to this list; the .inf can set the OEM format
to one of these, by default.
This technique is generally known as an "encoding EFX" for render or a
"decoding EFX" for capture; or in the pre-Windows 8.1 world, "encoding GFX" or
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Tim Roberts
Sent: Thursday, July 2, 2015 3:24 PM
Subject: [wdmaudiodev] APOs and Formats
I've never been clear on how an APO can participate in the format negotiation
for an endpoint. I know that we have IsInputFormatSupported and
IsOutputFormatSupported to validate lists of choices, but where does that list
come from? If an APO needs/wants to change formats, is it strictly limited to
the formats offered by the hardware? Will the Audio Engine try all possible
combinations until it gets success?
If, for example, hardware offers 2 channel and 5.1 support, but the 2 channel
is broken, is it possible for the APO to act as a translator between 2 channel
on the input side and 5.1 on the output side?
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: