Author: cwittich Date: Fri Mar 5 19:44:59 2010 New Revision: 45883
URL: http://svn.reactos.org/svn/reactos?rev=45883&view=rev Log: [DSOUND_WINETEST] sync dsound_winetest to wine 1.1.39
Modified: trunk/rostests/winetests/dsound/ds3d.c trunk/rostests/winetests/dsound/dsound.c trunk/rostests/winetests/dsound/dsound8.c trunk/rostests/winetests/dsound/propset.c
Modified: trunk/rostests/winetests/dsound/ds3d.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/dsound/ds3d.c?re... ============================================================================== --- trunk/rostests/winetests/dsound/ds3d.c [iso-8859-1] (original) +++ trunk/rostests/winetests/dsound/ds3d.c [iso-8859-1] Fri Mar 5 19:44:59 2010 @@ -1158,13 +1158,12 @@ "to create a 3D primary buffer: %08x\n",rc); if (rc==DS_OK && primary!=NULL) { LPDIRECTSOUND3DLISTENER listener=NULL; + LPDIRECTSOUNDBUFFER temp_buffer=NULL; rc=IDirectSoundBuffer_QueryInterface(primary, &IID_IDirectSound3DListener,(void **)&listener); ok(rc==DS_OK && listener!=NULL,"IDirectSoundBuffer_QueryInterface() " "failed to get a 3D listener: %08x\n",rc); if (rc==DS_OK && listener!=NULL) { - LPDIRECTSOUNDBUFFER temp_buffer=NULL; - /* Checking the COM interface */ rc=IDirectSoundBuffer_QueryInterface(primary, &IID_IDirectSoundBuffer,(LPVOID *)&temp_buffer); @@ -1195,12 +1194,32 @@ winetest_interactive && !(dscaps.dwFlags & DSCAPS_EMULDRIVER),1.0,0, listener,0,0,FALSE,0); + + todo_wine { + temp_buffer = NULL; + rc=IDirectSound3DListener_QueryInterface(listener, + &IID_IKsPropertySet,(LPVOID *)&temp_buffer); + ok(rc==DS_OK && temp_buffer!=NULL, + "IDirectSound3DListener_QueryInterface didn't handle IKsPropertySet: ret = %08x\n", rc); + if(temp_buffer) + IKsPropertySet_Release(temp_buffer); + } }
/* Testing the reference counting */ ref=IDirectSound3DListener_Release(listener); ok(ref==0,"IDirectSound3DListener_Release() listener has %d " "references, should have 0\n",ref); + } + + todo_wine { + temp_buffer = NULL; + rc=IDirectSoundBuffer_QueryInterface(primary, + &IID_IKsPropertySet,(LPVOID *)&temp_buffer); + ok(rc==DS_OK && temp_buffer!=NULL, + "IDirectSoundBuffer_QueryInterface didn't handle IKsPropertySet on primary buffer: ret = %08x\n", rc); + if(temp_buffer) + IKsPropertySet_Release(temp_buffer); }
/* Testing the reference counting */
Modified: trunk/rostests/winetests/dsound/dsound.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/dsound/dsound.c?... ============================================================================== --- trunk/rostests/winetests/dsound/dsound.c [iso-8859-1] (original) +++ trunk/rostests/winetests/dsound/dsound.c [iso-8859-1] Fri Mar 5 19:44:59 2010 @@ -55,7 +55,7 @@ IUnknown * unknown; IDirectSound * ds; IDirectSound8 * ds8; - DWORD speaker_config, new_speaker_config; + DWORD speaker_config, new_speaker_config, ref_speaker_config;
/* Try to Query for objects */ rc=IDirectSound_QueryInterface(dso,&IID_IUnknown,(LPVOID*)&unknown); @@ -144,11 +144,17 @@
rc=IDirectSound_GetSpeakerConfig(dso,&speaker_config); ok(rc==DS_OK,"IDirectSound_GetSpeakerConfig() failed: %08x\n", rc); + ref_speaker_config = speaker_config;
speaker_config = DSSPEAKER_COMBINED(DSSPEAKER_STEREO, DSSPEAKER_GEOMETRY_WIDE); - rc=IDirectSound_SetSpeakerConfig(dso,speaker_config); - ok(rc==DS_OK,"IDirectSound_SetSpeakerConfig() failed: %08x\n", rc); + if (speaker_config == ref_speaker_config) + speaker_config = DSSPEAKER_COMBINED(DSSPEAKER_STEREO, + DSSPEAKER_GEOMETRY_NARROW); + if(rc==DS_OK) { + rc=IDirectSound_SetSpeakerConfig(dso,speaker_config); + ok(rc==DS_OK,"IDirectSound_SetSpeakerConfig() failed: %08x\n", rc); + } if (rc==DS_OK) { rc=IDirectSound_GetSpeakerConfig(dso,&new_speaker_config); ok(rc==DS_OK,"IDirectSound_GetSpeakerConfig() failed: %08x\n", rc); @@ -156,6 +162,7 @@ trace("IDirectSound_GetSpeakerConfig() failed to set speaker " "config: expected 0x%08x, got 0x%08x\n", speaker_config,new_speaker_config); + IDirectSound_SetSpeakerConfig(dso,ref_speaker_config); }
EXIT:
Modified: trunk/rostests/winetests/dsound/dsound8.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/dsound/dsound8.c... ============================================================================== --- trunk/rostests/winetests/dsound/dsound8.c [iso-8859-1] (original) +++ trunk/rostests/winetests/dsound/dsound8.c [iso-8859-1] Fri Mar 5 19:44:59 2010 @@ -54,7 +54,7 @@ IUnknown * unknown; IDirectSound * ds; IDirectSound8 * ds8; - DWORD speaker_config, new_speaker_config; + DWORD speaker_config, new_speaker_config, ref_speaker_config; DWORD certified;
/* Try to Query for objects */ @@ -148,11 +148,17 @@
rc=IDirectSound8_GetSpeakerConfig(dso,&speaker_config); ok(rc==DS_OK,"IDirectSound8_GetSpeakerConfig() failed: %08x\n", rc); + ref_speaker_config = speaker_config;
speaker_config = DSSPEAKER_COMBINED(DSSPEAKER_STEREO, DSSPEAKER_GEOMETRY_WIDE); - rc=IDirectSound8_SetSpeakerConfig(dso,speaker_config); - ok(rc==DS_OK,"IDirectSound8_SetSpeakerConfig() failed: %08x\n", rc); + if (speaker_config == ref_speaker_config) + speaker_config = DSSPEAKER_COMBINED(DSSPEAKER_STEREO, + DSSPEAKER_GEOMETRY_NARROW); + if(rc==DS_OK) { + rc=IDirectSound8_SetSpeakerConfig(dso,speaker_config); + ok(rc==DS_OK,"IDirectSound8_SetSpeakerConfig() failed: %08x\n", rc); + } if (rc==DS_OK) { rc=IDirectSound8_GetSpeakerConfig(dso,&new_speaker_config); ok(rc==DS_OK,"IDirectSound8_GetSpeakerConfig() failed: %08x\n", rc); @@ -160,6 +166,7 @@ trace("IDirectSound8_GetSpeakerConfig() failed to set speaker " "config: expected 0x%08x, got 0x%08x\n", speaker_config,new_speaker_config); + IDirectSound8_SetSpeakerConfig(dso,ref_speaker_config); }
rc=IDirectSound8_VerifyCertification(dso, &certified);
Modified: trunk/rostests/winetests/dsound/propset.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/dsound/propset.c... ============================================================================== --- trunk/rostests/winetests/dsound/propset.c [iso-8859-1] (original) +++ trunk/rostests/winetests/dsound/propset.c [iso-8859-1] Fri Mar 5 19:44:59 2010 @@ -550,6 +550,7 @@ NULL, 0, &data, sizeof(data), &bytes); ok(rc==DS_OK, "Couldn't enumerate: 0x%x\n",rc); } + IKsPropertySet_Release(pps); }
static BOOL WINAPI dsenum_callback(LPGUID lpGuid, LPCSTR lpcstrDescription,