Commit graph

275 commits

Author SHA1 Message Date
Davide Beatrici c0aa622d96 mmdevapi: Implement AudioSessionManager. 2023-04-17 18:55:41 +02:00
Davide Beatrici 4cee5af0ea mmdevapi: Import GetAudioSessionWrapper() from driver. 2023-04-17 18:55:41 +02:00
Davide Beatrici 27d88669b4 mmdevapi: Add missing includes and typedef to mmdevdrv.h. 2023-04-14 15:43:16 +02:00
Davide Beatrici 6cfc37404b mmdevapi: Add missing includes to mmdevapi_private.h. 2023-04-14 15:43:15 +02:00
Davide Beatrici f7dfba08d0 mmdevapi: Rename mmdevapi.h to mmdevapi_private.h.
This should make it clear it's not an external header.

It could be confused with mmdeviceapi.h, in particular.
2023-04-14 15:43:13 +02:00
Davide Beatrici d67a211cb1 winealsa: Move common mmdevdrv structs into mmdevapi. 2023-04-11 21:47:32 +02:00
Davide Beatrici a20e1df90e mmdevapi: Move test_connect handling into mmdevapi. 2023-03-06 11:18:16 +01:00
Davide Beatrici ec9aab2c46 mmdevapi: Use UTF-16 for client name in "test_connect_params" and "create_stream_params" structs.
The conversion to another encoding is now up to the unixlib.
2023-03-06 11:18:16 +01:00
Davide Beatrici 3cc61002a8 winepulse: Move process_attach and process_detach handling into mmdevapi. 2023-03-06 11:18:16 +01:00
Davide Beatrici 0888d2242d mmdevapi: Query MemoryWineUnixFuncs virtual memory and store the resulting handle.
In preparation for calling the audio driver's UNIX functions directly.
2023-03-06 11:18:16 +01:00
Francois Gouget 1833dc0b2d mmdevapi/tests: WoW64 processes can read the properties from the registry.
Since Windows 10 2004 so consider the old limitation to be broken.
2023-02-28 15:07:54 +01:00
Sven Baars 0eeb471c8c mmdevapi/tests: Mark some more capture tests as flaky. 2022-12-05 20:04:53 +01:00
Brendan Shanks 7a87da8fab mmdevapi: Set the name of internal threads. 2022-10-20 18:29:15 +02:00
Alexandre Julliard 1237ae4f9d mmdevapi/tests: Mark some failing tests as flaky. 2022-09-30 18:43:25 +02:00
Alexandre Julliard 2742660e08 mmdevapi/tests: Mark some capture tests as flaky. 2022-09-26 21:49:54 +02:00
Davide Beatrici 2fa22538a5 mmdevapi: Integrate winecoreaudio's additions in unixlib.h.
The data type for "done" was accidentally changed in e29dc33aeb.

BOOL is basically the same as UINT32, but it should only be used for flags.
BOOLEAN would be better for that though, as it's single-byte.
2022-09-16 19:15:05 +02:00
Davide Beatrici d2c9a9f021 mmdevapi: Integrate wineoss's additions in unixlib.h. 2022-09-08 18:41:10 +02:00
Davide Beatrici 51604ad186 mmdevapi/tests: Fix fail message referencing "Start" instead of "Stop" in test_session(). 2022-08-23 09:40:01 -05:00
Davide Beatrici 447615747f mmdevapi/tests: Fix typos in spatial audio fail messages. 2022-08-23 09:40:01 -05:00
Davide Beatrici ebdee3cd80 mmdevapi/tests: Distinguish GetChannelCount() calls in test_volume_dependence() fail messages. 2022-08-23 09:40:00 -05:00
Davide Beatrici 874260d12e mmdevapi/tests: Fix fail messages referencing GetChannelCount() instead of GetChannelVolume(). 2022-08-23 09:40:00 -05:00
Davide Beatrici e29dc33aeb mmdevapi: Integrate winepulse's additions in unixlib.h. 2022-08-16 22:27:53 +02:00
Davide Beatrici 19baa29565 winealsa: Move common unixlib.h content into mmdevapi. 2022-08-16 22:27:53 +02:00
Claire Girka 67f9c76386 mmdevapi: Override product strings for DualSense controller audio devices.
Some games expect the DualSense audio device (used for haptic feedback and
controller speaker) to be called “Wireless Controller”.
2022-06-30 19:03:30 +02:00
Jacek Caban 9a8fdc724b mmdevapi: Remove android from default driver list.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-07 15:26:08 +02:00
Gabriel Ivăncescu 653d04d7f9 mmdevapi: Warn if returned device name is too long.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-26 19:02:59 +02:00
Gabriel Ivăncescu f5fc65ab86 mmdevapi: Don't clear possibly uninitialized PropVariant.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-26 19:02:59 +02:00
Eric Pouech 8e1b054be4 mmdevapi/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-03 21:30:35 +01:00
Eric Pouech 86891eeadf mmdevapi: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 16:34:16 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Rémi Bernon 32ee835d3c mmdevapi/tests: Check that GetMixFormat returns an IEEE_FLOAT format.
And that a corresponding PCM format is supported.

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-12-21 16:58:36 +01:00
Alexandre Julliard 088a787a2c makefiles: Make -mno-cygwin the default.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
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