Maarten Lankhorst : dsound: Correct amount of buffers used for playing.

Alexandre Julliard julliard at winehq.org
Fri Jan 2 08:25:49 CST 2009


Module: wine
Branch: master
Commit: 94c620cf95ed31add0e5ef40b0da0f571e1540de
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=94c620cf95ed31add0e5ef40b0da0f571e1540de

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Thu Jan  1 13:24:53 2009 +0100

dsound: Correct amount of buffers used for playing.

Fixes regression caused by ce06de420874b9983324508f8257a580fee341ca
Amount of time per buffer was doubled, but amount of buffers wasn't 
halved, so latency was doubled.

---

 dlls/dsound/capture.c     |    2 +-
 dlls/dsound/dsound_main.c |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/dsound/capture.c b/dlls/dsound/capture.c
index d84a8fe..cd051b6 100644
--- a/dlls/dsound/capture.c
+++ b/dlls/dsound/capture.c
@@ -1140,7 +1140,7 @@ IDirectSoundCaptureBufferImpl_Start(
 
         if (device->buffer) {
             int c;
-            DWORD blocksize = 4 * DSOUND_fraglen(device->pwfx->nSamplesPerSec, device->pwfx->nBlockAlign);
+            DWORD blocksize = DSOUND_fraglen(device->pwfx->nSamplesPerSec, device->pwfx->nBlockAlign);
             device->nrofpwaves = device->buflen / blocksize + !!(device->buflen % blocksize);
             TRACE("nrofpwaves=%d\n", device->nrofpwaves);
 
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index dddcf28..5ebf2e6 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -91,8 +91,8 @@ HRESULT mmErr(UINT err)
 /* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
 int ds_emuldriver = 0;
 int ds_hel_buflen = 32768 * 2;
-int ds_snd_queue_max = 20;
-int ds_snd_queue_min = 14;
+int ds_snd_queue_max = 10;
+int ds_snd_queue_min = 6;
 int ds_snd_shadow_maxsize = 2;
 int ds_hw_accel = DS_HW_ACCEL_FULL;
 int ds_default_playback = 0;




More information about the wine-cvs mailing list