headers: Actually import spatialaudioclient.idl.
I missed this in 3c737ed68c4, spotted by Biswapriyo Nath.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am
index b690199..309e688 100644
--- a/mingw-w64-headers/Makefile.am
+++ b/mingw-w64-headers/Makefile.am
@@ -181,6 +181,7 @@
include/shldisp.idl \
include/shobjidl.idl \
include/shtypes.idl \
+ include/spatialaudioclient.idl \
include/strmif.idl \
include/structuredquerycondition.idl \
include/taskschd.idl \
diff --git a/mingw-w64-headers/Makefile.in b/mingw-w64-headers/Makefile.in
index 51d68a2..8573b8f 100644
--- a/mingw-w64-headers/Makefile.in
+++ b/mingw-w64-headers/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -165,8 +165,8 @@
$(nodist_sdkshead_HEADERS) $(noinst_HEADERS) \
$(sechead_HEADERS) $(secsyshead_HEADERS) $(syshead_HEADERS) \
$(wrlhead_HEADERS) $(wrlwrappershead_HEADERS)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
- $(LISP)config.h.in
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
+ config.h.in
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
@@ -302,6 +302,7 @@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -480,6 +481,7 @@
@HAVE_WIDL_TRUE@ include/shldisp.idl \
@HAVE_WIDL_TRUE@ include/shobjidl.idl \
@HAVE_WIDL_TRUE@ include/shtypes.idl \
+@HAVE_WIDL_TRUE@ include/spatialaudioclient.idl \
@HAVE_WIDL_TRUE@ include/strmif.idl \
@HAVE_WIDL_TRUE@ include/structuredquerycondition.idl \
@HAVE_WIDL_TRUE@ include/taskschd.idl \
@@ -990,6 +992,10 @@
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
+dist-zstd: distdir
+ tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
+ $(am__post_remove_distdir)
+
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@@ -1032,6 +1038,8 @@
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
+ *.tar.zst*) \
+ zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
@@ -1225,15 +1233,16 @@
.PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \
clean-cscope clean-generic cscope cscopelist-am ctags ctags-am \
dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \
- dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
- distclean-generic distclean-hdr distclean-tags distcleancheck \
- distdir distuninstallcheck dvi dvi-am html html-am info \
- info-am install install-am install-baseheadHEADERS \
- install-data install-data-am install-ddkheadHEADERS \
- install-dvi install-dvi-am install-exec install-exec-am \
- install-gdiplusheadHEADERS install-glheadHEADERS install-html \
- install-html-am install-idlheadHEADERS install-info \
- install-info-am install-khrheadHEADERS install-man \
+ dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \
+ distclean distclean-generic distclean-hdr distclean-tags \
+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
+ html-am info info-am install install-am \
+ install-baseheadHEADERS install-data install-data-am \
+ install-ddkheadHEADERS install-dvi install-dvi-am install-exec \
+ install-exec-am install-gdiplusheadHEADERS \
+ install-glheadHEADERS install-html install-html-am \
+ install-idlheadHEADERS install-info install-info-am \
+ install-khrheadHEADERS install-man \
install-mingwhelperheadHEADERS install-nodist_sdksheadHEADERS \
install-pdf install-pdf-am install-ps install-ps-am \
install-secheadHEADERS install-secsysheadHEADERS install-strip \
diff --git a/mingw-w64-headers/aclocal.m4 b/mingw-w64-headers/aclocal.m4
index 96ca705..937454f 100644
--- a/mingw-w64-headers/aclocal.m4
+++ b/mingw-w64-headers/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.2 -*- Autoconf -*-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2018 Free Software Foundation, Inc.
+# Copyright (C) 2002-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -35,7 +35,7 @@
[am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.16.1], [],
+m4_if([$1], [1.16.2], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,14 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.1])dnl
+[AM_AUTOMAKE_VERSION([1.16.2])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -143,7 +143,7 @@
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -340,7 +340,7 @@
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -361,7 +361,7 @@
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2018 Free Software Foundation, Inc.
+# Copyright (C) 2003-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -383,7 +383,7 @@
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -418,7 +418,7 @@
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -457,7 +457,7 @@
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -488,7 +488,7 @@
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -569,7 +569,7 @@
rm -f conftest.file
])
-# Copyright (C) 2009-2018 Free Software Foundation, Inc.
+# Copyright (C) 2009-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -629,7 +629,7 @@
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -657,7 +657,7 @@
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2018 Free Software Foundation, Inc.
+# Copyright (C) 2006-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -676,7 +676,7 @@
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2018 Free Software Foundation, Inc.
+# Copyright (C) 2004-2020 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/mingw-w64-headers/configure b/mingw-w64-headers/configure
index 8ad7fce..a06fe17 100755
--- a/mingw-w64-headers/configure
+++ b/mingw-w64-headers/configure
@@ -668,6 +668,7 @@
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -741,6 +742,7 @@
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -993,6 +995,15 @@
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1130,7 +1141,7 @@
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1283,6 +1294,7 @@
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
diff --git a/mingw-w64-headers/include/spatialaudioclient.h b/mingw-w64-headers/include/spatialaudioclient.h
new file mode 100644
index 0000000..abcd6f7
--- /dev/null
+++ b/mingw-w64-headers/include/spatialaudioclient.h
@@ -0,0 +1,335 @@
+/*** Autogenerated by WIDL 5.0-rc1 from include/spatialaudioclient.idl - Do not edit ***/
+
+#ifdef _WIN32
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+#include <rpc.h>
+#include <rpcndr.h>
+#endif
+
+#ifndef COM_NO_WINDOWS_H
+#include <windows.h>
+#include <ole2.h>
+#endif
+
+#ifndef __spatialaudioclient_h__
+#define __spatialaudioclient_h__
+
+/* Forward declarations */
+
+#ifndef __IAudioFormatEnumerator_FWD_DEFINED__
+#define __IAudioFormatEnumerator_FWD_DEFINED__
+typedef interface IAudioFormatEnumerator IAudioFormatEnumerator;
+#ifdef __cplusplus
+interface IAudioFormatEnumerator;
+#endif /* __cplusplus */
+#endif
+
+#ifndef __ISpatialAudioClient_FWD_DEFINED__
+#define __ISpatialAudioClient_FWD_DEFINED__
+typedef interface ISpatialAudioClient ISpatialAudioClient;
+#ifdef __cplusplus
+interface ISpatialAudioClient;
+#endif /* __cplusplus */
+#endif
+
+/* Headers for imported files */
+
+#include <unknwn.h>
+#include <audioclient.h>
+#include <propsys.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum AudioObjectType {
+ AudioObjectType_None = 0,
+ AudioObjectType_Dynamic = 0x1,
+ AudioObjectType_FrontLeft = 0x2,
+ AudioObjectType_FrontRight = 0x4,
+ AudioObjectType_FrontCenter = 0x8,
+ AudioObjectType_LowFrequency = 0x10,
+ AudioObjectType_SideLeft = 0x20,
+ AudioObjectType_SideRight = 0x40,
+ AudioObjectType_BackLeft = 0x80,
+ AudioObjectType_BackRight = 0x100,
+ AudioObjectType_TopFrontLeft = 0x200,
+ AudioObjectType_TopFrontRight = 0x400,
+ AudioObjectType_TopBackLeft = 0x800,
+ AudioObjectType_TopBackRight = 0x1000,
+ AudioObjectType_BottomFrontLeft = 0x2000,
+ AudioObjectType_BottomFrontRight = 0x4000,
+ AudioObjectType_BottomBackLeft = 0x8000,
+ AudioObjectType_BottomBackRight = 0x10000,
+ AudioObjectType_BackCenter = 0x20000
+} AudioObjectType;
+/*****************************************************************************
+ * IAudioFormatEnumerator interface
+ */
+#ifndef __IAudioFormatEnumerator_INTERFACE_DEFINED__
+#define __IAudioFormatEnumerator_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_IAudioFormatEnumerator, 0xdcdaa858, 0x895a, 0x4a22, 0xa5,0xeb, 0x67,0xbd,0xa5,0x06,0x09,0x6d);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("dcdaa858-895a-4a22-a5eb-67bda506096d")
+IAudioFormatEnumerator : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE GetCount(
+ UINT32 *count) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFormat(
+ UINT32 index,
+ WAVEFORMATEX **format) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(IAudioFormatEnumerator, 0xdcdaa858, 0x895a, 0x4a22, 0xa5,0xeb, 0x67,0xbd,0xa5,0x06,0x09,0x6d)
+#endif
+#else
+typedef struct IAudioFormatEnumeratorVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IAudioFormatEnumerator *This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IAudioFormatEnumerator *This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IAudioFormatEnumerator *This);
+
+ /*** IAudioFormatEnumerator methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetCount)(
+ IAudioFormatEnumerator *This,
+ UINT32 *count);
+
+ HRESULT (STDMETHODCALLTYPE *GetFormat)(
+ IAudioFormatEnumerator *This,
+ UINT32 index,
+ WAVEFORMATEX **format);
+
+ END_INTERFACE
+} IAudioFormatEnumeratorVtbl;
+
+interface IAudioFormatEnumerator {
+ CONST_VTBL IAudioFormatEnumeratorVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define IAudioFormatEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAudioFormatEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAudioFormatEnumerator_Release(This) (This)->lpVtbl->Release(This)
+/*** IAudioFormatEnumerator methods ***/
+#define IAudioFormatEnumerator_GetCount(This,count) (This)->lpVtbl->GetCount(This,count)
+#define IAudioFormatEnumerator_GetFormat(This,index,format) (This)->lpVtbl->GetFormat(This,index,format)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT IAudioFormatEnumerator_QueryInterface(IAudioFormatEnumerator* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG IAudioFormatEnumerator_AddRef(IAudioFormatEnumerator* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG IAudioFormatEnumerator_Release(IAudioFormatEnumerator* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** IAudioFormatEnumerator methods ***/
+static FORCEINLINE HRESULT IAudioFormatEnumerator_GetCount(IAudioFormatEnumerator* This,UINT32 *count) {
+ return This->lpVtbl->GetCount(This,count);
+}
+static FORCEINLINE HRESULT IAudioFormatEnumerator_GetFormat(IAudioFormatEnumerator* This,UINT32 index,WAVEFORMATEX **format) {
+ return This->lpVtbl->GetFormat(This,index,format);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __IAudioFormatEnumerator_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ISpatialAudioClient interface
+ */
+#ifndef __ISpatialAudioClient_INTERFACE_DEFINED__
+#define __ISpatialAudioClient_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ISpatialAudioClient, 0xbbf8e066, 0xaaaa, 0x49be, 0x9a,0x4d, 0xfd,0x2a,0x85,0x8e,0xa2,0x7f);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("bbf8e066-aaaa-49be-9a4d-fd2a858ea27f")
+ISpatialAudioClient : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE GetStaticObjectPosition(
+ AudioObjectType type,
+ float *x,
+ float *y,
+ float *z) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNativeStaticObjectTypeMask(
+ AudioObjectType *mask) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMaxDynamicObjectCount(
+ UINT32 *value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSupportedAudioObjectFormatEnumerator(
+ IAudioFormatEnumerator **enumerator) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMaxFrameCount(
+ const WAVEFORMATEX *format,
+ UINT32 *count) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsAudioObjectFormatSupported(
+ const WAVEFORMATEX *format) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsSpatialAudioStreamAvailable(
+ REFIID stream_uuid,
+ const PROPVARIANT *info) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ActivateSpatialAudioStream(
+ const PROPVARIANT *params,
+ REFIID riid,
+ void **stream) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ISpatialAudioClient, 0xbbf8e066, 0xaaaa, 0x49be, 0x9a,0x4d, 0xfd,0x2a,0x85,0x8e,0xa2,0x7f)
+#endif
+#else
+typedef struct ISpatialAudioClientVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ISpatialAudioClient *This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ISpatialAudioClient *This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ISpatialAudioClient *This);
+
+ /*** ISpatialAudioClient methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetStaticObjectPosition)(
+ ISpatialAudioClient *This,
+ AudioObjectType type,
+ float *x,
+ float *y,
+ float *z);
+
+ HRESULT (STDMETHODCALLTYPE *GetNativeStaticObjectTypeMask)(
+ ISpatialAudioClient *This,
+ AudioObjectType *mask);
+
+ HRESULT (STDMETHODCALLTYPE *GetMaxDynamicObjectCount)(
+ ISpatialAudioClient *This,
+ UINT32 *value);
+
+ HRESULT (STDMETHODCALLTYPE *GetSupportedAudioObjectFormatEnumerator)(
+ ISpatialAudioClient *This,
+ IAudioFormatEnumerator **enumerator);
+
+ HRESULT (STDMETHODCALLTYPE *GetMaxFrameCount)(
+ ISpatialAudioClient *This,
+ const WAVEFORMATEX *format,
+ UINT32 *count);
+
+ HRESULT (STDMETHODCALLTYPE *IsAudioObjectFormatSupported)(
+ ISpatialAudioClient *This,
+ const WAVEFORMATEX *format);
+
+ HRESULT (STDMETHODCALLTYPE *IsSpatialAudioStreamAvailable)(
+ ISpatialAudioClient *This,
+ REFIID stream_uuid,
+ const PROPVARIANT *info);
+
+ HRESULT (STDMETHODCALLTYPE *ActivateSpatialAudioStream)(
+ ISpatialAudioClient *This,
+ const PROPVARIANT *params,
+ REFIID riid,
+ void **stream);
+
+ END_INTERFACE
+} ISpatialAudioClientVtbl;
+
+interface ISpatialAudioClient {
+ CONST_VTBL ISpatialAudioClientVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ISpatialAudioClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ISpatialAudioClient_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ISpatialAudioClient_Release(This) (This)->lpVtbl->Release(This)
+/*** ISpatialAudioClient methods ***/
+#define ISpatialAudioClient_GetStaticObjectPosition(This,type,x,y,z) (This)->lpVtbl->GetStaticObjectPosition(This,type,x,y,z)
+#define ISpatialAudioClient_GetNativeStaticObjectTypeMask(This,mask) (This)->lpVtbl->GetNativeStaticObjectTypeMask(This,mask)
+#define ISpatialAudioClient_GetMaxDynamicObjectCount(This,value) (This)->lpVtbl->GetMaxDynamicObjectCount(This,value)
+#define ISpatialAudioClient_GetSupportedAudioObjectFormatEnumerator(This,enumerator) (This)->lpVtbl->GetSupportedAudioObjectFormatEnumerator(This,enumerator)
+#define ISpatialAudioClient_GetMaxFrameCount(This,format,count) (This)->lpVtbl->GetMaxFrameCount(This,format,count)
+#define ISpatialAudioClient_IsAudioObjectFormatSupported(This,format) (This)->lpVtbl->IsAudioObjectFormatSupported(This,format)
+#define ISpatialAudioClient_IsSpatialAudioStreamAvailable(This,stream_uuid,info) (This)->lpVtbl->IsSpatialAudioStreamAvailable(This,stream_uuid,info)
+#define ISpatialAudioClient_ActivateSpatialAudioStream(This,params,riid,stream) (This)->lpVtbl->ActivateSpatialAudioStream(This,params,riid,stream)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ISpatialAudioClient_QueryInterface(ISpatialAudioClient* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ISpatialAudioClient_AddRef(ISpatialAudioClient* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ISpatialAudioClient_Release(ISpatialAudioClient* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ISpatialAudioClient methods ***/
+static FORCEINLINE HRESULT ISpatialAudioClient_GetStaticObjectPosition(ISpatialAudioClient* This,AudioObjectType type,float *x,float *y,float *z) {
+ return This->lpVtbl->GetStaticObjectPosition(This,type,x,y,z);
+}
+static FORCEINLINE HRESULT ISpatialAudioClient_GetNativeStaticObjectTypeMask(ISpatialAudioClient* This,AudioObjectType *mask) {
+ return This->lpVtbl->GetNativeStaticObjectTypeMask(This,mask);
+}
+static FORCEINLINE HRESULT ISpatialAudioClient_GetMaxDynamicObjectCount(ISpatialAudioClient* This,UINT32 *value) {
+ return This->lpVtbl->GetMaxDynamicObjectCount(This,value);
+}
+static FORCEINLINE HRESULT ISpatialAudioClient_GetSupportedAudioObjectFormatEnumerator(ISpatialAudioClient* This,IAudioFormatEnumerator **enumerator) {
+ return This->lpVtbl->GetSupportedAudioObjectFormatEnumerator(This,enumerator);
+}
+static FORCEINLINE HRESULT ISpatialAudioClient_GetMaxFrameCount(ISpatialAudioClient* This,const WAVEFORMATEX *format,UINT32 *count) {
+ return This->lpVtbl->GetMaxFrameCount(This,format,count);
+}
+static FORCEINLINE HRESULT ISpatialAudioClient_IsAudioObjectFormatSupported(ISpatialAudioClient* This,const WAVEFORMATEX *format) {
+ return This->lpVtbl->IsAudioObjectFormatSupported(This,format);
+}
+static FORCEINLINE HRESULT ISpatialAudioClient_IsSpatialAudioStreamAvailable(ISpatialAudioClient* This,REFIID stream_uuid,const PROPVARIANT *info) {
+ return This->lpVtbl->IsSpatialAudioStreamAvailable(This,stream_uuid,info);
+}
+static FORCEINLINE HRESULT ISpatialAudioClient_ActivateSpatialAudioStream(ISpatialAudioClient* This,const PROPVARIANT *params,REFIID riid,void **stream) {
+ return This->lpVtbl->ActivateSpatialAudioStream(This,params,riid,stream);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ISpatialAudioClient_INTERFACE_DEFINED__ */
+
+/* Begin additional prototypes for all interfaces */
+
+
+/* End additional prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __spatialaudioclient_h__ */
diff --git a/mingw-w64-headers/include/spatialaudioclient.idl b/mingw-w64-headers/include/spatialaudioclient.idl
new file mode 100644
index 0000000..16a1541
--- /dev/null
+++ b/mingw-w64-headers/include/spatialaudioclient.idl
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2020 Nikolay Sivov for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "unknwn.idl";
+import "audioclient.idl";
+import "propsys.idl";
+
+typedef [v1_enum] enum AudioObjectType
+{
+ AudioObjectType_None = 0,
+ AudioObjectType_Dynamic = 0x00000001,
+ AudioObjectType_FrontLeft = 0x00000002,
+ AudioObjectType_FrontRight = 0x00000004,
+ AudioObjectType_FrontCenter = 0x00000008,
+ AudioObjectType_LowFrequency = 0x00000010,
+ AudioObjectType_SideLeft = 0x00000020,
+ AudioObjectType_SideRight = 0x00000040,
+ AudioObjectType_BackLeft = 0x00000080,
+ AudioObjectType_BackRight = 0x00000100,
+ AudioObjectType_TopFrontLeft = 0x00000200,
+ AudioObjectType_TopFrontRight = 0x00000400,
+ AudioObjectType_TopBackLeft = 0x00000800,
+ AudioObjectType_TopBackRight = 0x00001000,
+ AudioObjectType_BottomFrontLeft = 0x00002000,
+ AudioObjectType_BottomFrontRight = 0x00004000,
+ AudioObjectType_BottomBackLeft = 0x00008000,
+ AudioObjectType_BottomBackRight = 0x00010000,
+ AudioObjectType_BackCenter = 0x00020000,
+} AudioObjectType;
+
+[
+ object,
+ uuid(dcdaa858-895a-4a22-a5eb-67bda506096d),
+ pointer_default(unique),
+ local
+]
+interface IAudioFormatEnumerator : IUnknown
+{
+ HRESULT GetCount(
+ [out] UINT32 *count);
+
+ HRESULT GetFormat(
+ [in] UINT32 index,
+ [out] WAVEFORMATEX **format);
+}
+
+[
+ object,
+ uuid(bbf8e066-aaaa-49be-9a4d-fd2a858ea27f),
+ pointer_default(unique),
+ local
+]
+interface ISpatialAudioClient : IUnknown
+{
+ HRESULT GetStaticObjectPosition(
+ [in] AudioObjectType type,
+ [out] float *x,
+ [out] float *y,
+ [out] float *z);
+
+ HRESULT GetNativeStaticObjectTypeMask(
+ [out] AudioObjectType *mask);
+
+ HRESULT GetMaxDynamicObjectCount(
+ [out] UINT32 *value);
+
+ HRESULT GetSupportedAudioObjectFormatEnumerator(
+ [out] IAudioFormatEnumerator **enumerator);
+
+ HRESULT GetMaxFrameCount(
+ [in] WAVEFORMATEX const *format,
+ [out] UINT32 *count);
+
+ HRESULT IsAudioObjectFormatSupported(
+ [in] WAVEFORMATEX const *format);
+
+ HRESULT IsSpatialAudioStreamAvailable(
+ [in] REFIID stream_uuid,
+ [in] PROPVARIANT const *info);
+
+ HRESULT ActivateSpatialAudioStream(
+ [in] PROPVARIANT const *params,
+ [in] REFIID riid,
+ [out, iid_is(riid)] void **stream);
+}