[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