IsFormatSupported tests & compatibility affects winmm's acceptable formats
Chris Robinson
chris.kcat at gmail.com
Thu Aug 4 12:18:16 CDT 2011
On Thursday, August 04, 2011 12:55:51 PM Joerg-Cyril.Hoehle at t-systems.com
wrote:
> - Except for 48000x2x16 and 48000x2x8, all standard PCM formats I
> tested yield S_FALSE, i.e. they are rejected. That means that the
> native mixer accepts integer formats at its nominal rate (48000),
> but does not even convert mono to stereo.
MMDevAPI does not normally remix channels or do rate conversions, according to
MSDN:
http://msdn.microsoft.com/en-us/library/dd370811(v=vs.85).aspx
"An application that uses WASAPI to manage shared-mode streams can rely on the
audio engine to perform only limited format conversions. The audio engine can
convert between a standard PCM sample size used by the application and the
floating-point samples that the engine uses for its internal processing.
However, the format for an application stream typically must have the same
number of channels and the same sample rate as the stream format used by the
device."
However, it is possible to circumvent that:
http://msdn.microsoft.com/en-us/library/dd370876(v=vs.85).aspx
"The audio engine might be able to support an even wider range of shared-mode
formats if the installation package for the audio device includes a local
effects (LFX) audio processing object (APO) that can handle format
conversions."
I don't know how visible APOs are to applications, but accepting multiple
channel formats and sample rates isn't technically a problem. It's just not
something typically done.
More information about the wine-devel
mailing list