dsound: change mix rate of primary buffer

Andrew Eikum aeikum at codeweavers.com
Tue Dec 18 07:59:29 CST 2012

On Sun, Dec 16, 2012 at 11:56:46AM +0100, sebastien chev wrote:
> It seems that no matter what the Windows side program choose for
> DirectSoundCreate, the DSound subsystem initialize itself with the higher
> spec sound available (for example 48Khz Float32, or 48kHz Int16 if no
> Float32 available).

Maarten very recently updated dsound's behavior. It will either choose
the default format for the backend or the nearest supported format to
the format the application requests. See DSOUND_WaveFormat in

> While not a big deal on current linux PC, using this on ARM device kill
> performance.
> A DirectSound subsystem for ARM, with Integer only for the mixbuffer (as
> most ARM still use softfloat) and 22kHz should be less taxing for
> performances.

It seems like the best solution is for the backend to prefer a format
that the CPU supports efficiently. This requires some more
intelligence in AudioClient_GetMixFormat in <winealsa.drv/mmdevdrv.c>,
which currently probes for capabilities and chooses the best available


More information about the wine-devel mailing list