Andrew Eikum : dsound: Inform the driver if we are in emulation mode or not .

Alexandre Julliard julliard at winehq.org
Wed Jun 29 15:47:43 CDT 2011


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

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Thu Jun 23 13:12:01 2011 -0500

dsound: Inform the driver if we are in emulation mode or not.

---

 dlls/dsound/dsound_main.c |   12 ++++++++----
 dlls/dsound/propset.c     |    6 ++++--
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index 5d4fb24..d14a141 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -353,13 +353,15 @@ HRESULT WINAPI DirectSoundEnumerateW(
 	return DSERR_INVALIDPARAM;
     }
 
+    setup_dsound_options();
+
     devs = waveOutGetNumDevs();
     if (devs > 0) {
 	if (GetDeviceID(&DSDEVID_DefaultPlayback, &guid) == DS_OK) {
             static const WCHAR empty[] = { 0 };
 	    for (wod = 0; wod < devs; ++wod) {
                 if (IsEqualGUID( &guid, &DSOUND_renderer_guids[wod] ) ) {
-                    err = mmErr(waveOutMessage(UlongToHandle(wod),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,0));
+                    err = mmErr(waveOutMessage(UlongToHandle(wod),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,ds_hw_accel));
                     if (err == DS_OK) {
                         TRACE("calling lpDSEnumCallback(NULL,\"%s\",\"%s\",%p)\n",
                               "Primary Sound Driver",desc.szDrvname,lpContext);
@@ -374,7 +376,7 @@ HRESULT WINAPI DirectSoundEnumerateW(
     }
 
     for (wod = 0; wod < devs; ++wod) {
-        err = mmErr(waveOutMessage(UlongToHandle(wod),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,0));
+        err = mmErr(waveOutMessage(UlongToHandle(wod),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,ds_hw_accel));
 	if (err == DS_OK) {
             TRACE("calling lpDSEnumCallback(%s,\"%s\",\"%s\",%p)\n",
                   debugstr_guid(&DSOUND_renderer_guids[wod]),desc.szDesc,desc.szDrvname,lpContext);
@@ -455,12 +457,14 @@ DirectSoundCaptureEnumerateW(
         return DSERR_INVALIDPARAM;
     }
 
+    setup_dsound_options();
+
     devs = waveInGetNumDevs();
     if (devs > 0) {
 	if (GetDeviceID(&DSDEVID_DefaultCapture, &guid) == DS_OK) {
 	    for (wid = 0; wid < devs; ++wid) {
                 if (IsEqualGUID( &guid, &DSOUND_capture_guids[wid] ) ) {
-                    err = mmErr(waveInMessage(UlongToHandle(wid),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,0));
+                    err = mmErr(waveInMessage(UlongToHandle(wid),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,ds_hw_accel));
                     if (err == DS_OK) {
                         TRACE("calling lpDSEnumCallback(NULL,\"%s\",\"%s\",%p)\n",
                               "Primary Sound Capture Driver",desc.szDrvname,lpContext);
@@ -479,7 +483,7 @@ DirectSoundCaptureEnumerateW(
     }
 
     for (wid = 0; wid < devs; ++wid) {
-        err = mmErr(waveInMessage(UlongToHandle(wid),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,0));
+        err = mmErr(waveInMessage(UlongToHandle(wid),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,ds_hw_accel));
 	if (err == DS_OK) {
             TRACE("calling lpDSEnumCallback(%s,\"%s\",\"%s\",%p)\n",
                   debugstr_guid(&DSOUND_capture_guids[wid]),desc.szDesc,desc.szDrvname,lpContext);
diff --git a/dlls/dsound/propset.c b/dlls/dsound/propset.c
index f6c8091..e2d0e20 100644
--- a/dlls/dsound/propset.c
+++ b/dlls/dsound/propset.c
@@ -226,6 +226,8 @@ static HRESULT DSPROPERTY_DescriptionW(
         }
     }
 
+    setup_dsound_options();
+
     GetDeviceID(&ppd->DeviceId, &dev_guid);
 
     wodn = waveOutGetNumDevs();
@@ -250,9 +252,9 @@ static HRESULT DSPROPERTY_DescriptionW(
     }
 
     if (ppd->DataFlow == DIRECTSOUNDDEVICE_DATAFLOW_RENDER)
-        err = waveOutMessage(UlongToHandle(wod),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,0);
+        err = waveOutMessage(UlongToHandle(wod),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,ds_hw_accel);
     else
-        err = waveInMessage(UlongToHandle(wod),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,0);
+        err = waveInMessage(UlongToHandle(wod),DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,ds_hw_accel);
 
     if (err != MMSYSERR_NOERROR)
     {




More information about the wine-cvs mailing list