Commit Graph

101 Commits

Author SHA1 Message Date
Eric Pouech 1ffde8b1c7 xapofx1_1: 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-09 18:44:55 +01:00
Eric Pouech d4bd5aaa91 xaudio2_7: Use correct integral type.
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-04 15:40:52 +01:00
Alexandre Julliard d8be85863f xaudio: Use the bundled FAudio and build with msvcrt.
Based on a patch by Rémi Bernon.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-21 14:03:54 +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
Alistair Leslie-Hughes e7752e6191 xaudio2_7: Trace FAudio version being used.
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>
2020-03-24 12:35:11 +01:00
Alistair Leslie-Hughes 06549f53f9 xaudio2_7: Correct reference count on newly created XAudio2 object.
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>
2020-03-10 20:00:41 +01:00
Ethan Lee 6103b8173b xaudio2: Add TRACE functions to CreateAudioReverb/CreateAudioVolumeMeter.
Signed-off-by: Ethan Lee <elee@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 20:43:37 +02:00
Ethan Lee 07d3780d68 xaudio2: Fix some TRACE calls erroneously marked as stubs.
Signed-off-by: Ethan Lee <elee@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 21:10:34 +02:00
Ethan Lee d341efeff0 xaudio2: Use new features from FAudio 19.06 (but keep compatibility for <=19.05).
Signed-off-by: Ethan Lee <elee@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-23 22:22:22 +02:00
Nikolay Sivov 2de9d9ec44 xaudio2: Fix 32-bit build.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 09:35:46 +02:00
Paul Gofman a5b22c86b4 xaudio2_7: Also preserve %ebx in call_on_voice_processing_pass_start().
It is tested that EBX register is not preserved by
IXAudio2VoiceCallback_OnVoiceProcessingPassStart callback
in League of Legends. It doesn't lead to crash in the
present xaudio, while it might still be a potential issue.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46870
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-12 15:38:56 +02:00
Ethan Lee b49b78db49 xaudio2: IXAudio23 needs its own interface, for XAUDIO23_VOICE_SENDS parameters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46727
Signed-off-by: Ethan Lee <elee@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Ethan Lee 3e390b1aaf xaudio2: Rewrite to use FAudio.
Signed-off-by: Ethan Lee <elee@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 17:35:14 +01:00
Sebastian Lackner c649ec3a02 xaudio2: Use assembly wrapper to call OnVoiceProcessingPassStart callback.
During a callback function, some games use the wrong function
signature for an xaudio2 function, which changed between xaudio2
versions.  As a result, the EDI and ESI registers are overwritten by
the game.  Apparently Windows's implementation happens not to use
these registers in a way that causes the crash.

This patch pushes EDI and ESI onto the stack before calling the
callback, then pops them back after the callback exits.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42520
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43358
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 21:50:58 +01:00
Roger Zoellner a303f9cd10 xaudio2: Don't return XAudio28 interface for XAudio2[0..7] objects in QueryInterface().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43660
Signed-off-by: Roger Zoellner <zoellner.roger@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 23:09:07 +02:00
Andrew Eikum b747d6f6cc xaudio2: Prefer builtin version.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 21:07:18 +02:00
Andrew Eikum 45babd780f xaudio2: Fix ClassFactory ref counting.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 19:39:12 +01:00
Masanori Kakura 7ff0881775 xaudio2: Partially implement XA2SRC_SetChannelVolumes().
Signed-off-by: Masanori Kakura <kakurasan@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:47 +01:00
Andrew Eikum f57246e5e5 xaudio2: Account for abandoned buffer bytes.
This should fix bug 44148, a regression caused by e2c73fc394.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-11 18:21:29 +01:00
Andrew Eikum e2c73fc394 xaudio2: Ignore buffers returned from OpenAL after Stop.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 19:07:04 +01:00
Kimmo Myllyvirta 8b94c5b51c xaudio2: Add support for float formats with more than 2 channels.
Signed-off-by: Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-13 17:20:16 +01:00
Andrew Eikum 986a14f950 xaudio2: Try to increase OpenAL source limit.
openal-soft recently added support for applications to request new
source count limits. Older versions will silently ignore these
attributes.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 09:11:27 +02:00
Andrew Eikum 49078e00a5 xaudio2: Always set current OpenAL context before making AL calls.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 21:23:24 +09:00
Andrew Eikum e733770416 xaudio2: Implement GetVoiceDetails for source and submix voices.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-02 13:25:10 +09:00
Andrew Eikum b77ec00f1c xaudio2: Shut down OpenAL in the correct order.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-02 13:25:07 +09:00
Sebastian Lackner caff64333f xaudio2_7: Unset DebugInfo->Spare[0] before destroying critical sections.
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>
2016-02-12 23:06:50 +09:00
Andrew Eikum 7bb885a3d3 xaudio2: Protect access to submix voice during creation (Coverity).
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:18:08 +09:00
Andrew Eikum 2c82e8b477 xaudio2: Protect access to source voice during creation (Coverity).
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:18:05 +09:00
Andrew Eikum ecadabe25b xaudio2: Handle openal source allocation failure.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-10 13:46:12 +09:00
Andrew Eikum 3934253513 xaudio2: Report incoming underruns to the application.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-26 14:54:35 +09:00
Andrew Eikum 2b2b179422 xaudio2: Use an HRESULT return code.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-21 17:01:44 +09:00
Andrew Eikum 121a69e028 xaudio2_9: Add xaudio2_9.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 14:48:37 +09:00
Andrew Eikum d9e6a31c6e xaudio2: Don't build interfaces for other versions.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 20:48:07 +09:00
Andrew Eikum fb954b7b9f xaudio2_8: Don't use IXAudio27 interface to call Initialize.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 20:48:07 +09:00
Andrew Eikum 0a8e8d190f xaudio2: Remove run-time versioning of xapo objects.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-17 15:41:12 +09:00
Andrew Eikum fb9f616b2b xaudio2: Remove run-time version checks for XAudio2 object.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-17 15:40:58 +09:00
Andrew Eikum adc6281ea1 xapofx1_1: Use shared source.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 01:44:53 +09:00
Andrew Eikum 80de4ba64d xapofx1_2: Use shared source.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 01:44:53 +09:00
Andrew Eikum 1559b715a8 xapofx1_3: Use shared source.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 01:44:53 +09:00
Andrew Eikum 12d7ce689a xapofx1_4: Use shared source.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 01:44:53 +09:00
Andrew Eikum d8739d4433 xapofx1_5: Use shared source.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 01:44:53 +09:00
Andrew Eikum 5f15d5b37c xaudio2_8: Use shared source.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-12 16:06:30 +09:00
Andrew Eikum 4ad4c61100 xaudio2: Explicitly version the 2.7 coclasses.
In versions 2.8 and later, no coclasses are provided by the API, so we
should version the old ones to make it clear they're out of date.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-12 16:05:02 +09:00
Nikolay Sivov f505f5fdeb xaudio2: Add another missing break for consistency.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-08 21:38:26 +09:00
Nikolay Sivov f9be2024da xaudio2: Added missing break in a switch (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-06 18:08:39 +01:00
André Hentschel 35eebeef0f xaudio2_7: Check return of IAudioClient_Start (Coverity).
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 20:19:01 +01:00
Francois Gouget 413c6f60cf Assorted spelling fixes.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-02 12:59:52 +09:00
Francois Gouget c9a040b510 xaudio2_7: Make some functions static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-25 12:58:05 +09:00
Andrew Eikum d672ebfeb8 xaudio2_7: Update current buffer position after flushing buffers.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-13 11:53:58 +09:00