[PATCHv2] xaudio2: Use new features from FAudio 19.06 (but keep compatibility for <=19.05)
Andrew Eikum
aeikum at codeweavers.com
Thu May 23 12:05:04 CDT 2019
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
On Thu, May 23, 2019 at 01:01:31PM -0400, elee at codeweavers.com wrote:
> From: Ethan Lee <elee at codeweavers.com>
>
> Signed-off-by: Ethan Lee <elee at codeweavers.com>
> ---
> configure.ac | 4 ++++
> dlls/xaudio2_7/x3daudio.c | 6 ++++++
> dlls/xaudio2_7/xaudio_dll.c | 6 +++++-
> 3 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/configure.ac b/configure.ac
> index ae8e85b356..c477796caf 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1690,6 +1690,10 @@ then
> WINE_PACKAGE_FLAGS(FAUDIO,[faudio],[-lFAudio],,,
> [AC_CHECK_HEADERS([FAudio.h],
> [WINE_CHECK_SONAME(FAudio,FAudioCreate,,,[$FAUDIO_LIBS],[[libFAudio*]])])])
> + WINE_CHECK_LIB_FUNCS(\
> + FAudio_CommitOperationSet \
> + F3DAudioInitialize8,
> + [$FAUDIO_LIBS])
> fi
> WINE_NOTICE_WITH(faudio,[test "x$ac_cv_lib_soname_FAudio" = "x"],
> [libFAudio ${notice_platform}development files not found, XAudio2 won't be supported.])
> diff --git a/dlls/xaudio2_7/x3daudio.c b/dlls/xaudio2_7/x3daudio.c
> index ee3367e092..5bc7c8473c 100644
> --- a/dlls/xaudio2_7/x3daudio.c
> +++ b/dlls/xaudio2_7/x3daudio.c
> @@ -17,6 +17,8 @@
> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
> */
>
> +#include "config.h"
> +
> #include <stdarg.h>
>
> #include "windef.h"
> @@ -51,8 +53,12 @@ HRESULT CDECL X3DAudioInitialize(UINT32 chanmask, float speedofsound,
> X3DAUDIO_HANDLE handle)
> {
> TRACE("0x%x, %f, %p\n", chanmask, speedofsound, handle);
> +#ifdef HAVE_F3DAUDIOINITIALIZE8
> + return F3DAudioInitialize8(chanmask, speedofsound, handle);
> +#else
> F3DAudioInitialize(chanmask, speedofsound, handle);
> return S_OK;
> +#endif
> }
> #endif /* XAUDIO2_VER >= 8 */
>
> diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c
> index da21cc0353..70889176a4 100644
> --- a/dlls/xaudio2_7/xaudio_dll.c
> +++ b/dlls/xaudio2_7/xaudio_dll.c
> @@ -1796,9 +1796,13 @@ static HRESULT WINAPI IXAudio2Impl_CommitChanges(IXAudio2 *iface,
> {
> IXAudio2Impl *This = impl_from_IXAudio2(iface);
>
> - TRACE("(%p)->(0x%x): stub!\n", This, operationSet);
> + TRACE("(%p)->(0x%x)\n", This, operationSet);
>
> +#ifdef HAVE_FAUDIO_COMMITOPERATIONSET
> + return FAudio_CommitOperationSet(This->faudio, operationSet);
> +#else
> return FAudio_CommitChanges(This->faudio);
> +#endif
> }
>
> static void WINAPI IXAudio2Impl_GetPerformanceData(IXAudio2 *iface,
> --
> 2.21.0
>
>
>
More information about the wine-devel
mailing list