[PATCH v12 0/2] MR11083: mmdevapi: Reverse load_devices_from_reg() as outputs then inputs
https://bugs.winehq.org/show_bug.cgi?id=59830 -- v12: mmdevapi/tests: Check EnumAudioEndpoints eAll lists eRender first when exists same as MS https://gitlab.winehq.org/wine/wine/-/merge_requests/11083
From: Stian Low <wineryyyyy@gmail.com> https://bugs.winehq.org/show_bug.cgi?id=59830 --- dlls/mmdevapi/devenum.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dlls/mmdevapi/devenum.c b/dlls/mmdevapi/devenum.c index 11d20f29957..409307a56ea 100644 --- a/dlls/mmdevapi/devenum.c +++ b/dlls/mmdevapi/devenum.c @@ -588,8 +588,8 @@ HRESULT load_devices_from_reg(void) if (ret == ERROR_SUCCESS) ret = RegCreateKeyExW(root, L"Render", 0, NULL, 0, KEY_READ|KEY_WRITE|KEY_WOW64_64KEY, NULL, &key_render, NULL); RegCloseKey(root); - cur = key_capture; - curflow = eCapture; + cur = key_render; + curflow = eRender; if (ret != ERROR_SUCCESS) { RegCloseKey(key_capture); @@ -608,10 +608,10 @@ HRESULT load_devices_from_reg(void) ret = RegEnumKeyExW(cur, i++, guidvalue, &len, NULL, NULL, NULL, NULL); if (ret == ERROR_NO_MORE_ITEMS) { - if (cur == key_capture) + if (cur == key_render) { - cur = key_render; - curflow = eRender; + cur = key_capture; + curflow = eCapture; i = 0; continue; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11083
From: Stian Low <wineryyyyy@gmail.com> https://bugs.winehq.org/show_bug.cgi?id=59830 mmdevapi/tests: Check EnumAudioEndpoints eAll lists eRender first when exists same as MS https://bugs.winehq.org/show_bug.cgi?id=59830 mmdevapi/tests: Check EnumAudioEndpoints eAll lists eRender first when exists same as MS https://bugs.winehq.org/show_bug.cgi?id=59830 mmdevapi/tests: Check EnumAudioEndpoints eAll lists eRender first when exists same as MS https://bugs.winehq.org/show_bug.cgi?id=59830 mmdevapi/tests: Check EnumAudioEndpoints eAll lists eRender first when exists same as MS https://bugs.winehq.org/show_bug.cgi?id=59830 mmdevapi/tests: Check EnumAudioEndpoints eAll lists eRender first when exists same as MS https://bugs.winehq.org/show_bug.cgi?id=59830 --- dlls/mmdevapi/tests/propstore.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/dlls/mmdevapi/tests/propstore.c b/dlls/mmdevapi/tests/propstore.c index 2ed2afa4b58..0fd7f59e0b7 100644 --- a/dlls/mmdevapi/tests/propstore.c +++ b/dlls/mmdevapi/tests/propstore.c @@ -38,7 +38,7 @@ static const WCHAR software_renderW[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\MMDevices\\Audio\\Render"; -static void test_propertystore(IPropertyStore *store) +static void test_propertystore(IPropertyStore *store, IMMDeviceEnumerator *mme, int i) { const WAVEFORMATEXTENSIBLE *format; WCHAR temp[256]; @@ -62,6 +62,23 @@ static void test_propertystore(IPropertyStore *store) ok(hr == S_OK, "Failed with %#lx\n", hr); ok(pv2.vt == VT_LPWSTR && pv2.pwszVal, "Device_DeviceDesc value had wrong type: %#x or was NULL\n", pv2.vt); + if (i == 0) + { + IMMDeviceCollection *collection; + unsigned count; + + trace("EnumAudioEndpoints eAll[0] eRender listed first?\n"); + hr = IMMDeviceEnumerator_EnumAudioEndpoints(mme, eAll, DEVICE_STATE_ACTIVE, &collection); + ok(hr == S_OK, "Got EnumAudioEndpoints eAll hr %#lx.\n", hr); + hr = IMMDeviceCollection_GetCount(collection, &count); + ok(hr == S_OK, "Got GetCount eAll hr %#lx.\n", hr); + if (count > 0) + { + ok(!wcscmp(L"Speakers", pv2.pwszVal), "Expected EnumAudioEndpoints eAll[0] to be eRender but DeviceDesc != 'Speakers'\n"); + } + IMMDeviceCollection_Release(collection); + } + swprintf(temp, ARRAY_SIZE(temp), L"%ls (%ls)", pv2.pwszVal, pv.pwszVal); PropVariantClear(&pv); @@ -265,7 +282,7 @@ START_TEST(propstore) hr = IMMDevice_OpenPropertyStore(dev, STGM_READ, &store); ok(hr == S_OK, "Opening valid store returned %08lx\n", hr); - test_propertystore(store); + test_propertystore(store, mme, i); test_deviceinterface(store); test_getat(store); if (is_wow64) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11083
Apologies for so many pushes for tests. Changes were made so that Gitlab test server results are as close to original as possible. Latest push may be considered stable for review now. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11083#note_142397
participants (2)
-
Stian Low -
Stian Low (@stianlow)