Hi,

One MS-Windows machine passes all the attached tests, proving that MS-Windows 
ignores nBlockAlign and nAvgBytesPerSec. It would be helpful to get 
confirmation from more machines.
Please build with the attached patch, execute it in interactive mode
set WINETEST_INTERACTIVE=1
winetest.exe wave
and listen to the sound and especially the pauses.

OTOH, Wine fails at least one test:
- One waveOutGetPosition test in WAVE_MAPPER fails.
- My recently accepted patches (for OSS and CoreAudio) do something
  forbidden, that the test was written to reveal: they fix broken values
  in the WAVEFORMAT description, because both winmm and dsound depend on
  their correctness.  But Wine should not touch user-supplied data.  That
  is a todo_wine until dsound learns how to live with broken input.  I'll
  add todo_wine before submitting these tests as a patch.

Try this out with <= 1.1.29 (test with WINETEST_INTERACTIVE=1 make test)
and you'll hear how Wine's winmm incorrectly computes the duration of the
sound when given inconsistent format descriptions, causing silence where
none should be, because MS-Windows does not care about BlockAlign and
AvgBytesPerSec. With the upcoming 1.1.30, this will be corrected for OSS
and CoreAudio, but not yet with the WAVE_MAPPER (ALSA is still broken).

Regards,
        Jörg Höhle

Attachment: winmm-tests.patch
Description: winmm-tests.patch



Reply via email to