From f95df54d1c25a4209212fa520e8f3f891031c9b7 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sat, 4 Dec 1999 03:58:37 +0000 Subject: [PATCH] Allow 1% deviation from specified sampling rate for some soundcards. --- dlls/winmm/wineoss/audio.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/winmm/wineoss/audio.c b/dlls/winmm/wineoss/audio.c index 9746cd5ef0..bc88bc2f06 100644 --- a/dlls/winmm/wineoss/audio.c +++ b/dlls/winmm/wineoss/audio.c @@ -31,6 +31,9 @@ DEFAULT_DEBUG_CHANNEL(wave) +/* Allow 1% deviation for sample rates (some ES137x cards) */ +#define NEAR_MATCH(rate1,rate2) (((100*(rate1-rate2))/rate1)==0) + #ifdef HAVE_OSS #define SOUND_DEV "/dev/dsp" @@ -632,7 +635,7 @@ static DWORD wodOpen(WORD wDevID, LPWAVEOPENDESC lpDesc, DWORD dwFlags) if (dsp_stereo != (WOutDev[wDevID].format.wf.nChannels > 1) ? 1 : 0) ERR("Can't set stereo to %u (%d)\n", (WOutDev[wDevID].format.wf.nChannels > 1) ? 1 : 0, dsp_stereo); - if (sample_rate != WOutDev[wDevID].format.wf.nSamplesPerSec) + if (!NEAR_MATCH(sample_rate,WOutDev[wDevID].format.wf.nSamplesPerSec)) ERR("Can't set sample_rate to %lu (%d)\n", WOutDev[wDevID].format.wf.nSamplesPerSec, sample_rate);