=?UTF-8?Q?J=C3=B6rg=20H=C3=B6hle=20?=: mmdevapi: Round buffer size like native in shared mode.

Alexandre Julliard julliard at winehq.org
Mon Jan 9 14:24:31 CST 2012


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

Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date:   Thu Jan  5 18:56:46 2012 +0100

mmdevapi: Round buffer size like native in shared mode.

---

 dlls/winecoreaudio.drv/mmdevdrv.c |    2 +-
 dlls/wineoss.drv/mmdevdrv.c       |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c
index 93ff3d6..19a505c 100644
--- a/dlls/winecoreaudio.drv/mmdevdrv.c
+++ b/dlls/winecoreaudio.drv/mmdevdrv.c
@@ -1006,7 +1006,7 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
 
     This->period_ms = period / 10000;
 
-    This->bufsize_frames = ceil(fmt->nSamplesPerSec * (duration / 10000000.));
+    This->bufsize_frames = MulDiv(duration, fmt->nSamplesPerSec, 10000000);
 
     if(This->dataflow == eCapture){
         int i;
diff --git a/dlls/wineoss.drv/mmdevdrv.c b/dlls/wineoss.drv/mmdevdrv.c
index 15bda6a..bc4d952 100644
--- a/dlls/wineoss.drv/mmdevdrv.c
+++ b/dlls/wineoss.drv/mmdevdrv.c
@@ -956,7 +956,7 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
 
     This->period_us = period / 10;
 
-    This->bufsize_frames = ceil(fmt->nSamplesPerSec * (duration / 10000000.));
+    This->bufsize_frames = MulDiv(duration, fmt->nSamplesPerSec, 10000000);
     This->local_buffer = HeapAlloc(GetProcessHeap(), 0,
             This->bufsize_frames * fmt->nBlockAlign);
     if(!This->local_buffer){




More information about the wine-cvs mailing list