Module: wine Branch: master Commit: 629e857c2ee0e8816a11ee4ab446c13798362f33 URL: http://source.winehq.org/git/wine.git/?a=commit;h=629e857c2ee0e8816a11ee4ab4...
Author: Andrew Eikum aeikum@codeweavers.com Date: Wed Apr 18 10:14:01 2012 -0500
dmime: Don't try to create a standard audio path if the client didn't ask for one.
---
dlls/dmime/performance.c | 5 +++-- dlls/dmime/tests/performance.c | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c index bc44fa5..0f76e36 100644 --- a/dlls/dmime/performance.c +++ b/dlls/dmime/performance.c @@ -945,7 +945,8 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_InitAudio(IDirectMusicPerform This->pParams.dwFeatures = dwFlags; This->pParams.clsidDefaultSynth = CLSID_DirectMusicSynthSink; } - hr = IDirectMusicPerformance8_CreateStandardAudioPath(iface, dwDefaultPathType, dwPChannelCount, FALSE, &This->pDefaultPath); + if(dwDefaultPathType != 0) + hr = IDirectMusicPerformance8_CreateStandardAudioPath(iface, dwDefaultPathType, dwPChannelCount, FALSE, &This->pDefaultPath);
PostMessageToProcessMsgThread(This, PROCESSMSG_START);
@@ -1096,7 +1097,7 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateStandardAudioPath(IDire
*ppNewPath = pPath; - TRACE(" returning IDirectMusicPerformance interface at %p.\n", *ppNewPath); + TRACE(" returning IDirectMusicAudioPath interface at %p.\n", *ppNewPath);
return IDirectMusicAudioPath_Activate(*ppNewPath, fActivate); } diff --git a/dlls/dmime/tests/performance.c b/dlls/dmime/tests/performance.c index 684642b..d0d5079 100644 --- a/dlls/dmime/tests/performance.c +++ b/dlls/dmime/tests/performance.c @@ -82,6 +82,20 @@ static HRESULT test_InitAudio(void)
IDirectMusicPerformance8_Release(idmusicperformance);
+ hr = CoCreateInstance(&CLSID_DirectMusicPerformance, NULL, + CLSCTX_INPROC_SERVER, &IID_IDirectMusicPerformance8, + (void**)&idmusicperformance); + ok(hr == S_OK, "CoCreateInstance failed: %08x\n", hr); + + hr = IDirectMusicPerformance8_InitAudio(idmusicperformance, NULL, NULL, + NULL, 0, 64, 0, NULL); + ok(hr == S_OK, "InitAudio failed: %08x\n", hr); + + hr = IDirectMusicPerformance8_CloseDown(idmusicperformance); + ok(hr == S_OK, "CloseDown failed: %08x\n", hr); + + IDirectMusicPerformance8_Release(idmusicperformance); + return S_OK; }