Commit Graph

243 Commits

Author SHA1 Message Date
Rémi Bernon ff57031d16 mmdevapi: Use a struct list to keep device list.
It's not guarded but devices are only created on driver initialization
and destroyed on DLL detach.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-04 20:01:39 +02:00
Rémi Bernon 0f147492de mmdevapi: Load devices on driver initialization.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-04 20:01:36 +02:00
Rémi Bernon 4caea555af mmdevapi: Make MMDevEnumerator a static variable.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-04 20:01:33 +02:00
Alexandre Julliard c45d792de3 mmdevapi: Avoid wcsncpy().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 21:33:14 +02:00
Alexandre Julliard 5d82baf974 winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Alexandre Julliard bd6b53740c winecrt0: Add a default implementation for DllCanUnloadNow().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Paul Gofman 11daf18690 mmdevapi: Return success from SAORS_GetAvailableDynamicObjectCount().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Arkadiusz Hiler <arek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-22 21:12:54 +02:00
Andrew Eikum 6de9bd06ba mmdevapi: Support device ID paths in ActivateAudioInterfaceAsync.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 17:04:35 +02:00
Jacek Caban 25f5734ead mmdevapi/tests: Use nameless unions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Jacek Caban e636c2a22a mmdevapi: Use nameless unions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Jacek Caban b39b9eea39 include: Don't default to WINE_NO_NAMELESS_EXTENSION for Wine build.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 21:48:38 +01:00
Paul Gofman 1d66a108b9 mmdevapi: Make spatial audio objects buffer update size constant.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-19 19:55:34 +01:00
Arkadiusz Hiler 3cdf1fa928 mmdevapi: Add SpatialAudio tests.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11:22 +01:00
Andrew Eikum 7e64247a6e mmdevapi: Implement SpatialAudio features.
This makes car radio / ambient noises audible in Cyberpunk 2077.

Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11:22 +01:00
Michael Stefaniuc 591f06d85e mmdevapi: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 21:39:18 +01:00
Andrew Eikum db87636c91 mmdevapi: Support older version of the AudioClientProperties structure.
Warframe when using a win10 prefix uses an xaudio2_9redist.dll which
uses the older AudioClientProperties structure (missing the Options
member).

Based on a patch by Alistair Leslie-Hughes.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 21:13:53 +01:00
Francois Gouget 7bc0cbc078 mmdevapi/tests: Work around Initialize() render breakage on Win 10.
Calling Initialize() twice causes later Start() operations to report a
failure on Windows 10 >= 1607.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-12 20:22:33 +01:00
Francois Gouget 8f956d4f3a mmdevapi/tests: Only warn about the console when it is used.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-12 20:22:33 +01:00
Sven Baars a66bb83191 mmdevapi/tests: Fix some test failures on Windows <= 7.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 20:41:16 +02:00
Andrew Eikum 2b69540e74 mmdevapi: Implement ActivateAudioInterfaceAsync.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00
Andrew Eikum 6314a75006 mmdevapi: Stub implement IAudioClient3.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:59:28 +02:00
Andrew Eikum d8ae98d421 mmdevapi: Implement SetClientProperties.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:58:45 +02:00
Andrew Eikum 530c79fba2 mmdevapi: Implement IsOffloadCapable.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:58:42 +02:00
Andrew Eikum 370a538e54 mmdevapi: Stub implement IAudioClient2.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:58:40 +02:00
Alex Henrie 3ea35e7ea1 mmdevapi: Report 100% volume in GetMasterVolumeLevelScalar stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31890
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 12:35:03 +01:00
Andrew Eikum 227c47e7a0 mmdevapi: Return E_INVALIDARG for invalid share mode argument.
Matches Windows 10 behavior.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:16:56 +01:00
Andrew Eikum 3c1ee2f80d mmdevapi: Set data pointer to NULL on IAudioCaptureClient::GetBuffer failure.
Matches Windows 10 behavior.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:16:53 +01:00
Andrew Eikum 90f53193ff mmdevapi/tests: Use discontinuity flag to detect broken win7 behavior.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:16:50 +01:00
Andrew Eikum ba340e741a mmdevapi/tests: Avoid race condition in capture test.
These tests depended on no data being put into the buffer between calls
to Start() and GetBuffer().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47876
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:16:45 +01:00
Francois Gouget 0cab8eb30d mmdevapi/tests: Fix the spelling of ok() messages.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 11:47:58 +02:00
Alexandre Julliard eae787f913 mmdevapi: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 08:27:51 +02:00
Sven Baars acea82ac74 mmdevapi/tests: Use PropVariantClear after calling IPropertyStore_GetValue (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-03 22:33:30 +02:00
Michael Stefaniuc a486cd78a3 mmdevapi: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:38:42 +02:00
Michael Stefaniuc e48f34906e mmdevapi/tests: Remove an ARRAY_SIZE()-like macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-04 14:23:27 +02:00
Alex Henrie 5fcfff6e64 mmdevapi/tests: Relax capture test that sometimes fails on Windows 8.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-19 16:57:54 +01:00
Alex Henrie 473a4aaba2 mmdevapi/tests: Fix capture test that consistently fails on Windows 10.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-19 16:57:53 +01:00
Alex Henrie 10aa228ccc mmdevapi/tests: Fix memory leaks (Coverity).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-20 17:48:02 +01:00
Alistair Leslie-Hughes f6bd39f03e mmdevapi/tests: Use standard wine_dbgstr_longlong.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-07 19:48:32 +02:00
Andrew Eikum 287be7c5ee wineandroid: Add an audio driver.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-03 20:59:40 +02:00
Sebastian Lackner db0518507a mmdevapi: Use InitOnce to initialize audio drivers.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-17 20:54:05 +01:00
Nikolay Sivov 054f1e8c1a mmdevapi: Fix pointer type cast.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-06 19:28:42 +01:00
Andrew Eikum 25dbca10dc mmdevapi/tests: Fix failure on Vista.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-27 13:22:03 +09:00
Michael Stefaniuc 4f06fd1490 mmdevapi: Another use case for todo_wine_if().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 23:31:54 +09:00
Andrew Eikum ba858c28fd mmdevapi: Fix some DEVPKEY definitions.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 00:39:05 +09:00
Michael Stefaniuc d7b7bdae1d mmdevapi/tests: Make use of todo_wine_if().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 09:08:26 -05:00
Andrey Gusev 424e2addfa mmdevapi: Use debugstr_guid() in TRACE() message.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-23 12:06:40 +09:00
Nikolay Sivov c5b6e31438 mmdevapi: Use regular list iterator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 22:23:41 +09:00
Francois Gouget 847868fc87 mmdevapi/tests: Fix typos in a few ok() messages.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:27:38 +09:00
Andrey Gusev de030f4028 mmdevapi/tests: Fix a typo in ok() messages.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-04 13:37:40 +09:00
Nikolay Sivov 3ac1059bf4 mmdevapi: Increment loop counter once per iteration (Clang).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 11:48:44 +09:00