[DSOUND] property set description bug

Robert Reif reif at earthlink.net
Tue May 31 19:26:03 CDT 2005


Fix property set decsription for more than one capture device bug.
Add better traces messages.
-------------- next part --------------
Index: dlls/dsound/propset.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/propset.c,v
retrieving revision 1.39
diff -p -u -r1.39 propset.c
--- dlls/dsound/propset.c	4 May 2005 09:46:41 -0000	1.39
+++ dlls/dsound/propset.c	1 Jun 2005 00:20:05 -0000
@@ -609,7 +609,10 @@ static HRESULT WINAPI DSPROPERTY_Descrip
 	 IsEqualGUID( &ppd->DeviceId , &DSDEVID_DefaultVoicePlayback) ) {
 	ULONG wod;
 	unsigned int wodn;
-	TRACE("DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_RENDER\n");
+        if (IsEqualGUID( &ppd->DeviceId , &DSDEVID_DefaultPlayback) )
+            TRACE("DSDEVID_DefaultPlayback\n");
+        else
+            TRACE("DSDEVID_DefaultVoicePlayback\n");
 	ppd->DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_RENDER;
 	wodn = waveOutGetNumDevs();
 	for (wod = 0; wod < wodn; wod++) {
@@ -655,7 +658,10 @@ static HRESULT WINAPI DSPROPERTY_Descrip
 	       IsEqualGUID( &ppd->DeviceId , &DSDEVID_DefaultVoiceCapture) ) {
 	ULONG wid;
 	unsigned int widn;
-	TRACE("DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE\n");
+        if (IsEqualGUID( &ppd->DeviceId , &DSDEVID_DefaultCapture) )
+            TRACE("DSDEVID_DefaultCapture\n");
+        else
+            TRACE("DSDEVID_DefaultVoiceCapture\n");
 	ppd->DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE;
 	widn = waveInGetNumDevs();
 	for (wid = 0; wid < widn; wid++) {
@@ -702,11 +708,12 @@ static HRESULT WINAPI DSPROPERTY_Descrip
 	ULONG wod;
 	unsigned int wodn;
 	/* given specific device so try the render devices first */
+        TRACE("Checking renderer devices\n");
 	wodn = waveOutGetNumDevs();
 	for (wod = 0; wod < wodn; wod++) {
             if (IsEqualGUID( &ppd->DeviceId, &DSOUND_renderer_guids[wod] ) ) {
                 DSDRIVERDESC desc;
-                TRACE("DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_RENDER\n");
+                TRACE("DSOUND_renderer_guids[%ld]\n", wod);
                 ppd->DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_RENDER;
                 ppd->WaveDeviceId = wod;
                 err = mmErr(waveOutMessage((HWAVEOUT)wod,DRV_QUERYDSOUNDDESC,(DWORD)&(desc),0));
@@ -749,12 +756,13 @@ static HRESULT WINAPI DSPROPERTY_Descrip
         if (found == FALSE) {
             ULONG wid;
             unsigned int widn;
-            TRACE("DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE\n");
+            TRACE("Checking capture devices\n");
             ppd->DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE;
             widn = waveInGetNumDevs();
             for (wid = 0; wid < widn; wid++) {
-                if (IsEqualGUID( &ppd->DeviceId, &DSOUND_capture_guids[wod] ) ) {
+                if (IsEqualGUID( &ppd->DeviceId, &DSOUND_capture_guids[wid] ) ) {
                     DSDRIVERDESC desc;
+                    TRACE("DSOUND_capture_guids[%ld]\n", wid);
                     ppd->WaveDeviceId = wid;
                     err = mmErr(waveInMessage((HWAVEIN)wid,DRV_QUERYDSOUNDDESC,(DWORD)&(desc),0));
                     if (err == DS_OK) {
@@ -842,12 +850,16 @@ static HRESULT WINAPI DSPROPERTY_Descrip
 	 IsEqualGUID( &ppd->DeviceId , &DSDEVID_DefaultVoicePlayback) ) {
 	ULONG wod;
 	unsigned int wodn;
-	TRACE("DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_RENDER\n");
+        if (IsEqualGUID( &ppd->DeviceId , &DSDEVID_DefaultPlayback) )
+            TRACE("DSDEVID_DefaultPlayback\n");
+        else
+            TRACE("DSDEVID_DefaultVoicePlayback\n");
 	ppd->DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_RENDER;
 	wodn = waveOutGetNumDevs();
 	for (wod = 0; wod < wodn; wod++) {
             if (IsEqualGUID( &dev_guid, &DSOUND_renderer_guids[wod] ) ) {
                 DSDRIVERDESC desc;
+                TRACE("DSOUND_renderer_guids[%ld]\n", wod);
                 ppd->WaveDeviceId = wod;
                 err = mmErr(waveOutMessage((HWAVEOUT)wod,DRV_QUERYDSOUNDDESC,(DWORD)&(desc),0));
                 if (err == DS_OK) {
@@ -888,7 +900,10 @@ static HRESULT WINAPI DSPROPERTY_Descrip
 	       IsEqualGUID( &ppd->DeviceId , &DSDEVID_DefaultVoiceCapture) ) {
 	ULONG wid;
 	unsigned int widn;
-	TRACE("DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE\n");
+        if (IsEqualGUID( &ppd->DeviceId , &DSDEVID_DefaultCapture))
+            TRACE("DSDEVID_DefaultCapture\n");
+        else
+            TRACE("DSDEVID_DefaultVoiceCapture\n");
 	ppd->DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE;
 	widn = waveInGetNumDevs();
 	for (wid = 0; wid < widn; wid++) {
@@ -934,12 +949,13 @@ static HRESULT WINAPI DSPROPERTY_Descrip
 	BOOL found = FALSE;
 	ULONG wod;
 	unsigned int wodn;
+        TRACE("Checking renderer devices\n");
 	/* given specific device so try the render devices first */
 	wodn = waveOutGetNumDevs();
 	for (wod = 0; wod < wodn; wod++) {
             if (IsEqualGUID( &ppd->DeviceId, &DSOUND_renderer_guids[wod] ) ) {
                 DSDRIVERDESC desc;
-                TRACE("DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_RENDER\n");
+                TRACE("DSOUND_renderer_guids[%ld]\n", wod);
                 ppd->DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_RENDER;
                 ppd->WaveDeviceId = wod;
                 err = mmErr(waveOutMessage((HWAVEOUT)wod,DRV_QUERYDSOUNDDESC,(DWORD)&(desc),0));
@@ -982,12 +998,13 @@ static HRESULT WINAPI DSPROPERTY_Descrip
         if (found == FALSE) {
             ULONG wid;
             unsigned int widn;
-            TRACE("DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE\n");
+            TRACE("Checking capture devices\n");
             ppd->DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE;
             widn = waveInGetNumDevs();
             for (wid = 0; wid < widn; wid++) {
                 if (IsEqualGUID( &dev_guid, &DSOUND_capture_guids[wid] ) ) {
                     DSDRIVERDESC desc;
+                    TRACE("DSOUND_capture_guids[%ld]\n", wid);
                     ppd->WaveDeviceId = wid;
                     err = mmErr(waveInMessage((HWAVEIN)wid,DRV_QUERYDSOUNDDESC,(DWORD)&(desc),0));
                     if (err == DS_OK) {


More information about the wine-patches mailing list