mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Added xaudio2-revert patchset
This commit is contained in:
parent
5e8beb5ff2
commit
f419a53698
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "1e8f4c059befe4a026ddf5c56e81d720b35c6c2f"
|
||||
echo "9422b844b59282db04af533451f50661de56b9ca"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -395,6 +395,10 @@ patch_enable_all ()
|
||||
enable_wtsapi32_EnumerateProcesses="$1"
|
||||
enable_wuauserv_Dummy_Service="$1"
|
||||
enable_wusa_MSU_Package_Installer="$1"
|
||||
enable_xaudio2_revert="$1"
|
||||
enable_xaudio2_7_CreateFX_FXEcho="$1"
|
||||
enable_xaudio2_7_WMA_support="$1"
|
||||
enable_xaudio2_CommitChanges="$1"
|
||||
}
|
||||
|
||||
# Enable or disable a specific patchset
|
||||
@ -1337,6 +1341,18 @@ patch_enable ()
|
||||
wusa-MSU_Package_Installer)
|
||||
enable_wusa_MSU_Package_Installer="$2"
|
||||
;;
|
||||
xaudio2-revert)
|
||||
enable_xaudio2_revert="$2"
|
||||
;;
|
||||
xaudio2_7-CreateFX-FXEcho)
|
||||
enable_xaudio2_7_CreateFX_FXEcho="$2"
|
||||
;;
|
||||
xaudio2_7-WMA_support)
|
||||
enable_xaudio2_7_WMA_support="$2"
|
||||
;;
|
||||
xaudio2_CommitChanges)
|
||||
enable_xaudio2_CommitChanges="$2"
|
||||
;;
|
||||
*)
|
||||
return 1
|
||||
;;
|
||||
@ -1692,6 +1708,27 @@ patch_apply()
|
||||
}
|
||||
|
||||
|
||||
if test "$enable_xaudio2_CommitChanges" -eq 1; then
|
||||
if test "$enable_xaudio2_revert" -gt 1; then
|
||||
abort "Patchset xaudio2-revert disabled, but xaudio2_CommitChanges depends on that."
|
||||
fi
|
||||
enable_xaudio2_revert=1
|
||||
fi
|
||||
|
||||
if test "$enable_xaudio2_7_WMA_support" -eq 1; then
|
||||
if test "$enable_xaudio2_revert" -gt 1; then
|
||||
abort "Patchset xaudio2-revert disabled, but xaudio2_7-WMA_support depends on that."
|
||||
fi
|
||||
enable_xaudio2_revert=1
|
||||
fi
|
||||
|
||||
if test "$enable_xaudio2_7_CreateFX_FXEcho" -eq 1; then
|
||||
if test "$enable_xaudio2_revert" -gt 1; then
|
||||
abort "Patchset xaudio2-revert disabled, but xaudio2_7-CreateFX-FXEcho depends on that."
|
||||
fi
|
||||
enable_xaudio2_revert=1
|
||||
fi
|
||||
|
||||
if test "$enable_ws2_32_WSACleanup" -eq 1; then
|
||||
if test "$enable_server_Desktop_Refcount" -gt 1; then
|
||||
abort "Patchset server-Desktop_Refcount disabled, but ws2_32-WSACleanup depends on that."
|
||||
@ -7725,6 +7762,92 @@ if test "$enable_wusa_MSU_Package_Installer" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset xaudio2-revert
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * configure, configure.ac, dlls/x3daudio1_0/Makefile.in, dlls/x3daudio1_1/Makefile.in, dlls/x3daudio1_2/Makefile.in,
|
||||
# | dlls/x3daudio1_3/Makefile.in, dlls/x3daudio1_4/Makefile.in, dlls/x3daudio1_5/Makefile.in, dlls/x3daudio1_6/Makefile.in,
|
||||
# | dlls/x3daudio1_7/Makefile.in, dlls/xapofx1_1/Makefile.in, dlls/xapofx1_2/Makefile.in, dlls/xapofx1_3/Makefile.in,
|
||||
# | dlls/xapofx1_4/Makefile.in, dlls/xapofx1_5/Makefile.in, dlls/xaudio2_0/Makefile.in, dlls/xaudio2_1/Makefile.in,
|
||||
# | dlls/xaudio2_2/Makefile.in, dlls/xaudio2_3/Makefile.in, dlls/xaudio2_4/Makefile.in, dlls/xaudio2_5/Makefile.in,
|
||||
# | dlls/xaudio2_6/Makefile.in, dlls/xaudio2_7/Makefile.in, dlls/xaudio2_7/compat.c, dlls/xaudio2_7/tests/xaudio2.c,
|
||||
# | dlls/xaudio2_7/x3daudio.c, dlls/xaudio2_7/xapo.c, dlls/xaudio2_7/xapofx.c, dlls/xaudio2_7/xaudio_allocator.c,
|
||||
# | dlls/xaudio2_7/xaudio_classes.idl, dlls/xaudio2_7/xaudio_dll.c, dlls/xaudio2_7/xaudio_private.h,
|
||||
# | dlls/xaudio2_8/Makefile.in, dlls/xaudio2_9/Makefile.in, include/config.h.in, include/xapo.idl, include/xaudio2.idl
|
||||
# |
|
||||
if test "$enable_xaudio2_revert" -eq 1; then
|
||||
patch_apply xaudio2-revert/0001-Revert-xaudio2-IXAPO-Process-out-parameter-should-no.patch
|
||||
patch_apply xaudio2-revert/0002-Revert-xaudio2-IXAudio23-needs-its-own-interface-for.patch
|
||||
patch_apply xaudio2-revert/0003-Revert-xaudio2-Fix-uninitialized-variable-access-Val.patch
|
||||
patch_apply xaudio2-revert/0004-Revert-xaudio2-Rewrite-to-use-FAudio.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "Revert \"xaudio2: IXAPO::Process out parameter should not be const.\".", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "Revert \"xaudio2: IXAudio23 needs its own interface, for XAUDIO23_VOICE_SENDS parameters.\".", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "Revert \"xaudio2: Fix uninitialized variable access (Valgrind).\".", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "Revert \"xaudio2: Rewrite to use FAudio.\".", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset xaudio2_7-CreateFX-FXEcho
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * xaudio2-revert
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#39402] Support FXEcho interface in CreateFX
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/xaudio2_7/xapofx.c
|
||||
# |
|
||||
if test "$enable_xaudio2_7_CreateFX_FXEcho" -eq 1; then
|
||||
patch_apply xaudio2_7-CreateFX-FXEcho/0001-xaudio2_7-Support-FXEcho-interface-in-CreateFX.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Thomas Crider", "xaudio2_7: Support FXEcho interface in CreateFX.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset xaudio2_7-WMA_support
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * xaudio2-revert
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#39402] Use ffmpeg 4.x to convert WMA format
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * configure.ac, dlls/x3daudio1_0/Makefile.in, dlls/x3daudio1_1/Makefile.in, dlls/x3daudio1_2/Makefile.in,
|
||||
# | dlls/x3daudio1_3/Makefile.in, dlls/x3daudio1_4/Makefile.in, dlls/x3daudio1_5/Makefile.in, dlls/x3daudio1_6/Makefile.in,
|
||||
# | dlls/x3daudio1_7/Makefile.in, dlls/xapofx1_1/Makefile.in, dlls/xapofx1_2/Makefile.in, dlls/xapofx1_3/Makefile.in,
|
||||
# | dlls/xapofx1_4/Makefile.in, dlls/xapofx1_5/Makefile.in, dlls/xaudio2_0/Makefile.in, dlls/xaudio2_1/Makefile.in,
|
||||
# | dlls/xaudio2_2/Makefile.in, dlls/xaudio2_3/Makefile.in, dlls/xaudio2_4/Makefile.in, dlls/xaudio2_5/Makefile.in,
|
||||
# | dlls/xaudio2_6/Makefile.in, dlls/xaudio2_7/Makefile.in, dlls/xaudio2_7/xaudio_dll.c, dlls/xaudio2_7/xaudio_private.h,
|
||||
# | dlls/xaudio2_8/Makefile.in, dlls/xaudio2_9/Makefile.in, include/config.h.in, include/mmreg.h
|
||||
# |
|
||||
if test "$enable_xaudio2_7_WMA_support" -eq 1; then
|
||||
patch_apply xaudio2_7-WMA_support/0001-xaudio2-Use-ffmpeg-to-convert-WMA-formats.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Andrew Eikum", "xaudio2: Use ffmpeg to convert WMA formats.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset xaudio2_CommitChanges
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * xaudio2-revert
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#44883] Return S_OK from IXAudio2Impl_CommitChanges()
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/xaudio2_7/xaudio_dll.c
|
||||
# |
|
||||
if test "$enable_xaudio2_CommitChanges" -eq 1; then
|
||||
patch_apply xaudio2_CommitChanges/0001-xaudio2-Return-S_OK-in-IXAudio2-in-CommitChanges.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Thomas Crider", "xaudio2: Return S_OK in IXAudio2 in CommitChanges.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
|
||||
if test "$enable_patchlist" -eq 1; then
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
From 00bd249b0e151241cc7d62310d4c99e5da1ec626 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sun, 3 Mar 2019 16:41:31 +1100
|
||||
Subject: [PATCH 1/4] Revert "xaudio2: IXAPO::Process out parameter should not
|
||||
be const."
|
||||
|
||||
This reverts commit 53cd694e6a6b577635a3f524c7fc2bd0c1feaff3.
|
||||
---
|
||||
dlls/xaudio2_7/xapo.c | 2 +-
|
||||
include/xapo.idl | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/xaudio2_7/xapo.c b/dlls/xaudio2_7/xapo.c
|
||||
index 3ccb3f190b0..ccad417ea5c 100644
|
||||
--- a/dlls/xaudio2_7/xapo.c
|
||||
+++ b/dlls/xaudio2_7/xapo.c
|
||||
@@ -175,7 +175,7 @@ static void WINAPI XAPOFX_UnlockForProcess(IXAPO *iface)
|
||||
static void WINAPI XAPOFX_Process(IXAPO *iface, UINT32 in_params_count,
|
||||
const XAPO_PROCESS_BUFFER_PARAMETERS *in_params,
|
||||
UINT32 out_params_count,
|
||||
- XAPO_PROCESS_BUFFER_PARAMETERS *out_params, BOOL enabled)
|
||||
+ const XAPO_PROCESS_BUFFER_PARAMETERS *out_params, BOOL enabled)
|
||||
{
|
||||
XA2XAPOFXImpl *This = impl_from_IXAPO(iface);
|
||||
TRACE("%p, %u, %p, %u, %p, %u\n", This, in_params_count, in_params,
|
||||
diff --git a/include/xapo.idl b/include/xapo.idl
|
||||
index 7b28ac9f439..9c3ad15134c 100644
|
||||
--- a/include/xapo.idl
|
||||
+++ b/include/xapo.idl
|
||||
@@ -118,7 +118,7 @@ interface IXAPO : IUnknown
|
||||
void UnlockForProcess(void);
|
||||
|
||||
void Process(UINT32 in_params_count, const XAPO_PROCESS_BUFFER_PARAMETERS *in_params,
|
||||
- UINT32 out_params_count, XAPO_PROCESS_BUFFER_PARAMETERS *out_params,
|
||||
+ UINT32 out_params_count, const XAPO_PROCESS_BUFFER_PARAMETERS *out_params,
|
||||
BOOL enabled);
|
||||
|
||||
UINT32 CalcInputFrames(UINT32 output_frames);
|
||||
--
|
||||
2.20.1
|
||||
|
@ -0,0 +1,374 @@
|
||||
From 72861972a7bf4d167b4be3e418df7cf108016e8c Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sun, 3 Mar 2019 16:41:36 +1100
|
||||
Subject: [PATCH 2/4] Revert "xaudio2: IXAudio23 needs its own interface, for
|
||||
XAUDIO23_VOICE_SENDS parameters."
|
||||
|
||||
This reverts commit b49b78db49d79bdd1358f2244a87d74db6350b73.
|
||||
---
|
||||
dlls/xaudio2_7/compat.c | 222 +-------------------------------
|
||||
dlls/xaudio2_7/xaudio_dll.c | 4 -
|
||||
dlls/xaudio2_7/xaudio_private.h | 4 -
|
||||
include/xaudio2.idl | 61 ---------
|
||||
4 files changed, 5 insertions(+), 286 deletions(-)
|
||||
|
||||
diff --git a/dlls/xaudio2_7/compat.c b/dlls/xaudio2_7/compat.c
|
||||
index c4538ae3677..bc33cb92ed7 100644
|
||||
--- a/dlls/xaudio2_7/compat.c
|
||||
+++ b/dlls/xaudio2_7/compat.c
|
||||
@@ -2488,222 +2488,6 @@ const IXAudio22Vtbl XAudio22_Vtbl = {
|
||||
XA22_SetDebugConfiguration
|
||||
};
|
||||
|
||||
-#elif XAUDIO2_VER <= 3
|
||||
-
|
||||
-static inline IXAudio2Impl *impl_from_IXAudio23(IXAudio23 *iface)
|
||||
-{
|
||||
- return CONTAINING_RECORD(iface, IXAudio2Impl, IXAudio23_iface);
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_QueryInterface(IXAudio23 *iface, REFIID riid,
|
||||
- void **ppvObject)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- return IXAudio2_QueryInterface(&This->IXAudio2_iface, riid, ppvObject);
|
||||
-}
|
||||
-
|
||||
-static ULONG WINAPI XA23_AddRef(IXAudio23 *iface)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- return IXAudio2_AddRef(&This->IXAudio2_iface);
|
||||
-}
|
||||
-
|
||||
-static ULONG WINAPI XA23_Release(IXAudio23 *iface)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- return IXAudio2_Release(&This->IXAudio2_iface);
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_GetDeviceCount(IXAudio23 *iface, UINT32 *pCount)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- TRACE("%p, %p\n", This, pCount);
|
||||
- return FAudio_GetDeviceCount(This->faudio, pCount);
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_GetDeviceDetails(IXAudio23 *iface, UINT32 index,
|
||||
- XAUDIO2_DEVICE_DETAILS *pDeviceDetails)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- TRACE("%p, %u, %p\n", This, index, pDeviceDetails);
|
||||
- return FAudio_GetDeviceDetails(This->faudio, index, (FAudioDeviceDetails *)pDeviceDetails);
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_Initialize(IXAudio23 *iface, UINT32 flags,
|
||||
- XAUDIO2_PROCESSOR processor)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- TRACE("(%p)->(0x%x, 0x%x)\n", This, flags, processor);
|
||||
- return xaudio2_initialize(This, flags, processor);
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_RegisterForCallbacks(IXAudio23 *iface,
|
||||
- IXAudio2EngineCallback *pCallback)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- return IXAudio2_RegisterForCallbacks(&This->IXAudio2_iface, pCallback);
|
||||
-}
|
||||
-
|
||||
-static void WINAPI XA23_UnregisterForCallbacks(IXAudio23 *iface,
|
||||
- IXAudio2EngineCallback *pCallback)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- IXAudio2_UnregisterForCallbacks(&This->IXAudio2_iface, pCallback);
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_CreateSourceVoice(IXAudio23 *iface,
|
||||
- IXAudio2SourceVoice **ppSourceVoice, const WAVEFORMATEX *pSourceFormat,
|
||||
- UINT32 flags, float maxFrequencyRatio,
|
||||
- IXAudio2VoiceCallback *pCallback, const XAUDIO23_VOICE_SENDS *pSendList,
|
||||
- const XAUDIO2_EFFECT_CHAIN *pEffectChain)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- XAUDIO2_VOICE_SENDS sends, *psends = NULL;
|
||||
- HRESULT hr;
|
||||
-
|
||||
- if(pSendList){
|
||||
- sends.SendCount = pSendList->OutputCount;
|
||||
- sends.pSends = convert_send_descriptors23(pSendList);
|
||||
- psends = &sends;
|
||||
- }
|
||||
-
|
||||
- hr = IXAudio2_CreateSourceVoice(&This->IXAudio2_iface, ppSourceVoice,
|
||||
- pSourceFormat, flags, maxFrequencyRatio, pCallback, psends,
|
||||
- pEffectChain);
|
||||
-
|
||||
- if(pSendList)
|
||||
- HeapFree(GetProcessHeap(), 0, sends.pSends);
|
||||
-
|
||||
- return hr;
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_CreateSubmixVoice(IXAudio23 *iface,
|
||||
- IXAudio2SubmixVoice **ppSubmixVoice, UINT32 inputChannels,
|
||||
- UINT32 inputSampleRate, UINT32 flags, UINT32 processingStage,
|
||||
- const XAUDIO23_VOICE_SENDS *pSendList,
|
||||
- const XAUDIO2_EFFECT_CHAIN *pEffectChain)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- XAUDIO2_VOICE_SENDS sends, *psends = NULL;
|
||||
- HRESULT hr;
|
||||
-
|
||||
- if(pSendList){
|
||||
- sends.SendCount = pSendList->OutputCount;
|
||||
- sends.pSends = convert_send_descriptors23(pSendList);
|
||||
- psends = &sends;
|
||||
- }
|
||||
-
|
||||
- hr = IXAudio2_CreateSubmixVoice(&This->IXAudio2_iface, ppSubmixVoice,
|
||||
- inputChannels, inputSampleRate, flags, processingStage, psends,
|
||||
- pEffectChain);
|
||||
-
|
||||
- if(pSendList)
|
||||
- HeapFree(GetProcessHeap(), 0, sends.pSends);
|
||||
-
|
||||
- return hr;
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_CreateMasteringVoice(IXAudio23 *iface,
|
||||
- IXAudio2MasteringVoice **ppMasteringVoice, UINT32 inputChannels,
|
||||
- UINT32 inputSampleRate, UINT32 flags, UINT32 deviceIndex,
|
||||
- const XAUDIO2_EFFECT_CHAIN *pEffectChain)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
-
|
||||
- TRACE("(%p)->(%p, %u, %u, 0x%x, %u, %p)\n", This, ppMasteringVoice,
|
||||
- inputChannels, inputSampleRate, flags, deviceIndex,
|
||||
- pEffectChain);
|
||||
-
|
||||
- EnterCriticalSection(&This->lock);
|
||||
-
|
||||
- /* XAUDIO2_VER == 3 */
|
||||
- *ppMasteringVoice = (IXAudio2MasteringVoice*)&This->mst.IXAudio23MasteringVoice_iface;
|
||||
-
|
||||
- EnterCriticalSection(&This->mst.lock);
|
||||
-
|
||||
- if(This->mst.in_use){
|
||||
- LeaveCriticalSection(&This->mst.lock);
|
||||
- LeaveCriticalSection(&This->lock);
|
||||
- return COMPAT_E_INVALID_CALL;
|
||||
- }
|
||||
-
|
||||
- LeaveCriticalSection(&This->lock);
|
||||
-
|
||||
- This->mst.effect_chain = wrap_effect_chain(pEffectChain);
|
||||
-
|
||||
- pthread_mutex_lock(&This->mst.engine_lock);
|
||||
-
|
||||
- This->mst.engine_thread = CreateThread(NULL, 0, &engine_thread, &This->mst, 0, NULL);
|
||||
-
|
||||
- pthread_cond_wait(&This->mst.engine_done, &This->mst.engine_lock);
|
||||
-
|
||||
- pthread_mutex_unlock(&This->mst.engine_lock);
|
||||
-
|
||||
- FAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
|
||||
-
|
||||
- FAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels,
|
||||
- inputSampleRate, flags, deviceIndex, This->mst.effect_chain);
|
||||
-
|
||||
- This->mst.in_use = TRUE;
|
||||
-
|
||||
- LeaveCriticalSection(&This->mst.lock);
|
||||
-
|
||||
- return S_OK;
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_StartEngine(IXAudio23 *iface)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- return IXAudio2_StartEngine(&This->IXAudio2_iface);
|
||||
-}
|
||||
-
|
||||
-static void WINAPI XA23_StopEngine(IXAudio23 *iface)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- return IXAudio2_StopEngine(&This->IXAudio2_iface);
|
||||
-}
|
||||
-
|
||||
-static HRESULT WINAPI XA23_CommitChanges(IXAudio23 *iface, UINT32 operationSet)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- return IXAudio2_CommitChanges(&This->IXAudio2_iface, operationSet);
|
||||
-}
|
||||
-
|
||||
-static void WINAPI XA23_GetPerformanceData(IXAudio23 *iface,
|
||||
- XAUDIO2_PERFORMANCE_DATA *pPerfData)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- return IXAudio2_GetPerformanceData(&This->IXAudio2_iface, pPerfData);
|
||||
-}
|
||||
-
|
||||
-static void WINAPI XA23_SetDebugConfiguration(IXAudio23 *iface,
|
||||
- const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration,
|
||||
- void *pReserved)
|
||||
-{
|
||||
- IXAudio2Impl *This = impl_from_IXAudio23(iface);
|
||||
- return IXAudio2_SetDebugConfiguration(&This->IXAudio2_iface,
|
||||
- pDebugConfiguration, pReserved);
|
||||
-}
|
||||
-
|
||||
-const IXAudio23Vtbl XAudio23_Vtbl = {
|
||||
- XA23_QueryInterface,
|
||||
- XA23_AddRef,
|
||||
- XA23_Release,
|
||||
- XA23_GetDeviceCount,
|
||||
- XA23_GetDeviceDetails,
|
||||
- XA23_Initialize,
|
||||
- XA23_RegisterForCallbacks,
|
||||
- XA23_UnregisterForCallbacks,
|
||||
- XA23_CreateSourceVoice,
|
||||
- XA23_CreateSubmixVoice,
|
||||
- XA23_CreateMasteringVoice,
|
||||
- XA23_StartEngine,
|
||||
- XA23_StopEngine,
|
||||
- XA23_CommitChanges,
|
||||
- XA23_GetPerformanceData,
|
||||
- XA23_SetDebugConfiguration
|
||||
-};
|
||||
-
|
||||
#elif XAUDIO2_VER <= 7
|
||||
|
||||
static inline IXAudio2Impl *impl_from_IXAudio27(IXAudio27 *iface)
|
||||
@@ -2804,8 +2588,12 @@ static HRESULT WINAPI XA27_CreateMasteringVoice(IXAudio27 *iface,
|
||||
|
||||
EnterCriticalSection(&This->lock);
|
||||
|
||||
- /* 4 <= XAUDIO2_VER <= 7 */
|
||||
+ /* 3 <= XAUDIO2_VER <= 7 */
|
||||
+#if XAUDIO2_VER == 3
|
||||
+ *ppMasteringVoice = (IXAudio2MasteringVoice*)&This->mst.IXAudio23MasteringVoice_iface;
|
||||
+#else
|
||||
*ppMasteringVoice = (IXAudio2MasteringVoice*)&This->mst.IXAudio27MasteringVoice_iface;
|
||||
+#endif
|
||||
|
||||
EnterCriticalSection(&This->mst.lock);
|
||||
|
||||
diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c
|
||||
index 18306a16035..f338b56dc91 100644
|
||||
--- a/dlls/xaudio2_7/xaudio_dll.c
|
||||
+++ b/dlls/xaudio2_7/xaudio_dll.c
|
||||
@@ -1400,8 +1400,6 @@ static HRESULT WINAPI IXAudio2Impl_QueryInterface(IXAudio2 *iface, REFIID riid,
|
||||
*ppvObject = &This->IXAudio20_iface;
|
||||
#elif XAUDIO2_VER <= 2
|
||||
*ppvObject = &This->IXAudio22_iface;
|
||||
-#elif XAUDIO2_VER <= 3
|
||||
- *ppvObject = &This->IXAudio23_iface;
|
||||
#elif XAUDIO2_VER <= 7
|
||||
*ppvObject = &This->IXAudio27_iface;
|
||||
#else
|
||||
@@ -1904,8 +1902,6 @@ static HRESULT WINAPI XAudio2CF_CreateInstance(IClassFactory *iface, IUnknown *p
|
||||
object->IXAudio20_iface.lpVtbl = &XAudio20_Vtbl;
|
||||
#elif XAUDIO2_VER <= 2
|
||||
object->IXAudio22_iface.lpVtbl = &XAudio22_Vtbl;
|
||||
-#elif XAUDIO2_VER <= 3
|
||||
- object->IXAudio23_iface.lpVtbl = &XAudio23_Vtbl;
|
||||
#elif XAUDIO2_VER <= 7
|
||||
object->IXAudio27_iface.lpVtbl = &XAudio27_Vtbl;
|
||||
#endif
|
||||
diff --git a/dlls/xaudio2_7/xaudio_private.h b/dlls/xaudio2_7/xaudio_private.h
|
||||
index 46d842bf4c1..84bab8257d0 100644
|
||||
--- a/dlls/xaudio2_7/xaudio_private.h
|
||||
+++ b/dlls/xaudio2_7/xaudio_private.h
|
||||
@@ -111,8 +111,6 @@ typedef struct _IXAudio2Impl {
|
||||
IXAudio20 IXAudio20_iface;
|
||||
#elif XAUDIO2_VER <= 2
|
||||
IXAudio22 IXAudio22_iface;
|
||||
-#elif XAUDIO2_VER <= 3
|
||||
- IXAudio23 IXAudio23_iface;
|
||||
#elif XAUDIO2_VER <= 7
|
||||
IXAudio27 IXAudio27_iface;
|
||||
#endif
|
||||
@@ -160,8 +158,6 @@ extern XA2VoiceImpl *impl_from_IXAudio27MasteringVoice(IXAudio27MasteringVoice *
|
||||
extern const IXAudio20Vtbl XAudio20_Vtbl DECLSPEC_HIDDEN;
|
||||
#elif XAUDIO2_VER <= 2
|
||||
extern const IXAudio22Vtbl XAudio22_Vtbl DECLSPEC_HIDDEN;
|
||||
-#elif XAUDIO2_VER <= 3
|
||||
-extern const IXAudio23Vtbl XAudio23_Vtbl DECLSPEC_HIDDEN;
|
||||
#elif XAUDIO2_VER <= 7
|
||||
extern const IXAudio27Vtbl XAudio27_Vtbl DECLSPEC_HIDDEN;
|
||||
#endif
|
||||
diff --git a/include/xaudio2.idl b/include/xaudio2.idl
|
||||
index 074454d4906..e97cf9948ba 100644
|
||||
--- a/include/xaudio2.idl
|
||||
+++ b/include/xaudio2.idl
|
||||
@@ -1050,67 +1050,6 @@ interface IXAudio22 : IUnknown
|
||||
[in, defaultvalue(NULL)] void* pReserved);
|
||||
}
|
||||
|
||||
-[
|
||||
- object,
|
||||
- uuid(8bcf1f58-9fe7-4583-8ac6-e2adc465c8bb), /* all versions before 28 share IID_IXAudio */
|
||||
-]
|
||||
-/* XAudio2 2.3's IXAudio2 interface. Actually called IXAudio2 in the Nov 2008
|
||||
- * DX SDK */
|
||||
-interface IXAudio23 : IUnknown
|
||||
-{
|
||||
- HRESULT GetDeviceCount([out] UINT32* pCount);
|
||||
-
|
||||
- HRESULT GetDeviceDetails(
|
||||
- [in] UINT32 Index,
|
||||
- [out] XAUDIO2_DEVICE_DETAILS* pDeviceDetails);
|
||||
-
|
||||
- HRESULT Initialize(
|
||||
- [in, defaultvalue(0)] UINT32 Flags,
|
||||
- [in, defaultvalue(XAUDIO2_DEFAULT_PROCESSOR)] XAUDIO2_PROCESSOR XAudio2Processor);
|
||||
-
|
||||
- HRESULT RegisterForCallbacks([in] IXAudio2EngineCallback* pCallback);
|
||||
-
|
||||
- void UnregisterForCallbacks([in] IXAudio2EngineCallback* pCallback);
|
||||
-
|
||||
- HRESULT CreateSourceVoice(
|
||||
- [out] IXAudio2SourceVoice** ppSourceVoice,
|
||||
- [in] const WAVEFORMATEX* pSourceFormat,
|
||||
- [in, defaultvalue(0)] UINT32 Flags,
|
||||
- [in, defaultvalue(XAUDIO2_DEFAULT_FREQ_RATIO)] float MaxFrequencyRatio,
|
||||
- [in, defaultvalue(NULL)] IXAudio2VoiceCallback* pCallback,
|
||||
- [in, defaultvalue(NULL)] const XAUDIO23_VOICE_SENDS* pSendList,
|
||||
- [in, defaultvalue(NULL)] const XAUDIO2_EFFECT_CHAIN* pEffectChain);
|
||||
-
|
||||
- HRESULT CreateSubmixVoice(
|
||||
- [out] IXAudio2SubmixVoice** ppSubmixVoice,
|
||||
- [in] UINT32 InputChannels,
|
||||
- [in] UINT32 InputSampleRate,
|
||||
- [in, defaultvalue(0)] UINT32 Flags,
|
||||
- [in, defaultvalue(0)] UINT32 ProcessingStage,
|
||||
- [in, defaultvalue(NULL)] const XAUDIO23_VOICE_SENDS* pSendList,
|
||||
- [in, defaultvalue(NULL)] const XAUDIO2_EFFECT_CHAIN* pEffectChain);
|
||||
-
|
||||
- HRESULT CreateMasteringVoice(
|
||||
- [out] IXAudio2MasteringVoice** ppMasteringVoice,
|
||||
- [in, defaultvalue(XAUDIO2_DEFAULT_CHANNELS)] UINT32 InputChannels,
|
||||
- [in, defaultvalue(XAUDIO2_DEFAULT_SAMPLERATE)] UINT32 InputSampleRate,
|
||||
- [in, defaultvalue(0)] UINT32 Flags,
|
||||
- [in, defaultvalue(0)] UINT32 DeviceIndex,
|
||||
- [in, defaultvalue(NULL)] const XAUDIO2_EFFECT_CHAIN* pEffectChain);
|
||||
-
|
||||
- HRESULT StartEngine();
|
||||
-
|
||||
- void StopEngine();
|
||||
-
|
||||
- HRESULT CommitChanges([in] UINT32 OperationSet);
|
||||
-
|
||||
- void GetPerformanceData([out] XAUDIO2_PERFORMANCE_DATA* pPerfData);
|
||||
-
|
||||
- [local] void SetDebugConfiguration(
|
||||
- [in] const XAUDIO2_DEBUG_CONFIGURATION* pDebugConfiguration,
|
||||
- [in, defaultvalue(NULL)] void* pReserved);
|
||||
-}
|
||||
-
|
||||
[
|
||||
object,
|
||||
uuid(8bcf1f58-9fe7-4583-8ac6-e2adc465c8bb),
|
||||
--
|
||||
2.20.1
|
||||
|
@ -0,0 +1,54 @@
|
||||
From 22e7e8495a592f776fd61246b7a7f65553c2fd99 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sun, 3 Mar 2019 16:41:42 +1100
|
||||
Subject: [PATCH 3/4] Revert "xaudio2: Fix uninitialized variable access
|
||||
(Valgrind)."
|
||||
|
||||
This reverts commit ac8be6a1a24d49e1e32806b05dcf4591de5c691e.
|
||||
---
|
||||
dlls/xaudio2_7/compat.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/xaudio2_7/compat.c b/dlls/xaudio2_7/compat.c
|
||||
index bc33cb92ed7..318f6685896 100644
|
||||
--- a/dlls/xaudio2_7/compat.c
|
||||
+++ b/dlls/xaudio2_7/compat.c
|
||||
@@ -923,7 +923,7 @@ static HRESULT WINAPI XA20SUB_SetOutputVoices(IXAudio20SubmixVoice *iface,
|
||||
const XAUDIO23_VOICE_SENDS *pSendList)
|
||||
{
|
||||
XA2VoiceImpl *This = impl_from_IXAudio20SubmixVoice(iface);
|
||||
- XAUDIO2_VOICE_SENDS sends, *psends = NULL;
|
||||
+ XAUDIO2_VOICE_SENDS sends, *psends;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("%p, %p\n", This, pSendList);
|
||||
@@ -1483,7 +1483,7 @@ static HRESULT WINAPI XA20M_SetOutputVoices(IXAudio20MasteringVoice *iface,
|
||||
const XAUDIO23_VOICE_SENDS *pSendList)
|
||||
{
|
||||
XA2VoiceImpl *This = impl_from_IXAudio20MasteringVoice(iface);
|
||||
- XAUDIO2_VOICE_SENDS sends, *psends = NULL;
|
||||
+ XAUDIO2_VOICE_SENDS sends, *psends;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("%p, %p\n", This, pSendList);
|
||||
@@ -2115,7 +2115,7 @@ static HRESULT WINAPI XA20_CreateSubmixVoice(IXAudio20 *iface,
|
||||
const XAUDIO2_EFFECT_CHAIN *pEffectChain)
|
||||
{
|
||||
IXAudio2Impl *This = impl_from_IXAudio20(iface);
|
||||
- XAUDIO2_VOICE_SENDS sends, *psends = NULL;
|
||||
+ XAUDIO2_VOICE_SENDS sends, *psends;
|
||||
HRESULT hr;
|
||||
|
||||
if(pSendList){
|
||||
@@ -2350,7 +2350,7 @@ static HRESULT WINAPI XA22_CreateSubmixVoice(IXAudio22 *iface,
|
||||
const XAUDIO2_EFFECT_CHAIN *pEffectChain)
|
||||
{
|
||||
IXAudio2Impl *This = impl_from_IXAudio22(iface);
|
||||
- XAUDIO2_VOICE_SENDS sends, *psends = NULL;
|
||||
+ XAUDIO2_VOICE_SENDS sends, *psends;
|
||||
HRESULT hr;
|
||||
|
||||
if(pSendList){
|
||||
--
|
||||
2.20.1
|
||||
|
File diff suppressed because it is too large
Load Diff
1
patches/xaudio2-revert/definition
Normal file
1
patches/xaudio2-revert/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: Revert FAduio patches to package isssue with faudio not being availabe for most distro's.
|
@ -1,2 +1,2 @@
|
||||
Fixes: [39402] Support FXEcho interface in CreateFX
|
||||
Disabled: true
|
||||
Depends: xaudio2-revert
|
||||
|
@ -1,2 +1,2 @@
|
||||
Fixes: [39402] Use ffmpeg 4.x to convert WMA format
|
||||
Disabled: true
|
||||
Depends: xaudio2-revert
|
||||
|
@ -1,2 +1,2 @@
|
||||
Fixes: [44883] Return S_OK from IXAudio2Impl_CommitChanges()
|
||||
Disabled: true
|
||||
Depends: xaudio2-revert
|
||||
|
Loading…
Reference in New Issue
Block a user