Maarten Lankhorst : winealsa: Fix period size in capture.

Alexandre Julliard julliard at winehq.org
Fri Dec 7 13:19:12 CST 2007


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

Author: Maarten Lankhorst <maarten at codeweavers.com>
Date:   Fri Dec  7 10:49:50 2007 +0100

winealsa: Fix period size in capture.

---

 dlls/winealsa.drv/wavein.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/dlls/winealsa.drv/wavein.c b/dlls/winealsa.drv/wavein.c
index b221c0c..5409624 100644
--- a/dlls/winealsa.drv/wavein.c
+++ b/dlls/winealsa.drv/wavein.c
@@ -160,7 +160,7 @@ static	DWORD	CALLBACK	widRecorder(LPVOID pmt)
     SetEvent(wwi->hStartUpEvent);
 
     /* make sleep time to be # of ms to output a period */
-    dwSleepTime = (1024/*wwi-dwPeriodSize => overrun!*/ * 1000) / wwi->format.Format.nAvgBytesPerSec;
+    dwSleepTime = (wwi->dwPeriodSize * 1000) / wwi->format.Format.nAvgBytesPerSec;
     frames_per_period = snd_pcm_bytes_to_frames(wwi->pcm, wwi->dwPeriodSize);
     TRACE("sleeptime=%d ms\n", dwSleepTime);
 
@@ -581,10 +581,7 @@ static DWORD widOpen(WORD wDevID, LPWAVEOPENDESC lpDesc, DWORD dwFlags)
 
     ALSA_InitRingMessage(&wwi->msgRing);
 
-    wwi->dwPeriodSize = period_size;
-    /*if (wwi->dwFragmentSize % wwi->format.Format.nBlockAlign)
-	ERR("Fragment doesn't contain an integral number of data blocks\n");
-    */
+    wwi->dwPeriodSize = snd_pcm_frames_to_bytes(pcm, period_size);
     TRACE("dwPeriodSize=%u\n", wwi->dwPeriodSize);
     TRACE("wBitsPerSample=%u, nAvgBytesPerSec=%u, nSamplesPerSec=%u, nChannels=%u nBlockAlign=%u!\n",
 	  wwi->format.Format.wBitsPerSample, wwi->format.Format.nAvgBytesPerSec,




More information about the wine-cvs mailing list