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
<dsound/primary.c>.
> 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
format.
Andrew
More information about the wine-devel
mailing list