From fcc9b74cb2c3d6433c20527b4c8b487fdd5cd6f7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B6rg=20H=C3=B6hle?= Date: Thu, 5 Jan 2012 18:56:46 +0100 Subject: [PATCH] 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 93ff3d61fb9..19a505c58be 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 15bda6afff3..bc4d9527d03 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){ -- 2.11.4.GIT