Signed-off-by: Rémi Bernon rbernon@codeweavers.com --- dlls/x3daudio1_0/Makefile.in | 3 +- dlls/x3daudio1_1/Makefile.in | 3 +- dlls/x3daudio1_2/Makefile.in | 3 +- dlls/x3daudio1_3/Makefile.in | 3 +- dlls/x3daudio1_4/Makefile.in | 3 +- dlls/x3daudio1_5/Makefile.in | 3 +- dlls/x3daudio1_6/Makefile.in | 3 +- dlls/x3daudio1_7/Makefile.in | 3 +- dlls/xactengine2_0/Makefile.in | 3 +- dlls/xactengine2_4/Makefile.in | 3 +- dlls/xactengine2_7/Makefile.in | 3 +- dlls/xactengine2_9/Makefile.in | 3 +- dlls/xactengine3_0/Makefile.in | 3 +- dlls/xactengine3_1/Makefile.in | 3 +- dlls/xactengine3_2/Makefile.in | 3 +- dlls/xactengine3_3/Makefile.in | 3 +- dlls/xactengine3_4/Makefile.in | 3 +- dlls/xactengine3_5/Makefile.in | 3 +- dlls/xactengine3_6/Makefile.in | 3 +- dlls/xactengine3_7/Makefile.in | 3 +- dlls/xapofx1_1/Makefile.in | 3 +- dlls/xapofx1_2/Makefile.in | 3 +- dlls/xapofx1_3/Makefile.in | 3 +- dlls/xapofx1_4/Makefile.in | 3 +- dlls/xapofx1_5/Makefile.in | 3 +- dlls/xaudio2_0/Makefile.in | 3 +- dlls/xaudio2_1/Makefile.in | 3 +- dlls/xaudio2_2/Makefile.in | 3 +- dlls/xaudio2_3/Makefile.in | 3 +- dlls/xaudio2_4/Makefile.in | 3 +- dlls/xaudio2_5/Makefile.in | 3 +- dlls/xaudio2_6/Makefile.in | 3 +- dlls/xaudio2_7/Makefile.in | 3 +- dlls/xaudio2_7/compat.c | 32 +-- dlls/xaudio2_7/faudio.c | 345 ++++++++++++++++++++++++++++++++ dlls/xaudio2_7/x3daudio.c | 28 ++- dlls/xaudio2_7/xact_dll.c | 145 +++++++------- dlls/xaudio2_7/xapo.c | 8 +- dlls/xaudio2_7/xapofx.c | 19 ++ dlls/xaudio2_7/xaudio_dll.c | 168 ++++++++-------- dlls/xaudio2_7/xaudio_private.h | 151 +++++++++++++- dlls/xaudio2_8/Makefile.in | 3 +- dlls/xaudio2_9/Makefile.in | 3 +- 43 files changed, 789 insertions(+), 212 deletions(-) create mode 100644 dlls/xaudio2_7/faudio.c
diff --git a/dlls/x3daudio1_0/Makefile.in b/dlls/x3daudio1_0/Makefile.in index d2305be6f17..1fc804116be 100644 --- a/dlls/x3daudio1_0/Makefile.in +++ b/dlls/x3daudio1_0/Makefile.in @@ -1,8 +1,9 @@ EXTRADEFS = -DX3DAUDIO1_VER=0 -DXAUDIO2_VER=0 MODULE = x3daudio1_0.dll PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ x3daudio.c diff --git a/dlls/x3daudio1_1/Makefile.in b/dlls/x3daudio1_1/Makefile.in index efe8d74539f..75cacbbdb27 100644 --- a/dlls/x3daudio1_1/Makefile.in +++ b/dlls/x3daudio1_1/Makefile.in @@ -1,8 +1,9 @@ EXTRADEFS = -DX3DAUDIO1_VER=1 -DXAUDIO2_VER=1 MODULE = x3daudio1_1.dll PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ x3daudio.c diff --git a/dlls/x3daudio1_2/Makefile.in b/dlls/x3daudio1_2/Makefile.in index 3b52e063fc0..c621ba9bfe9 100644 --- a/dlls/x3daudio1_2/Makefile.in +++ b/dlls/x3daudio1_2/Makefile.in @@ -1,8 +1,9 @@ EXTRADEFS = -DX3DAUDIO1_VER=2 -DXAUDIO2_VER=2 MODULE = x3daudio1_2.dll PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ x3daudio.c diff --git a/dlls/x3daudio1_3/Makefile.in b/dlls/x3daudio1_3/Makefile.in index 9afd1e64312..fb678cf19a3 100644 --- a/dlls/x3daudio1_3/Makefile.in +++ b/dlls/x3daudio1_3/Makefile.in @@ -1,8 +1,9 @@ EXTRADEFS = -DX3DAUDIO1_VER=3 -DXAUDIO2_VER=3 MODULE = x3daudio1_3.dll PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ x3daudio.c diff --git a/dlls/x3daudio1_4/Makefile.in b/dlls/x3daudio1_4/Makefile.in index e481567cce0..66805bfc845 100644 --- a/dlls/x3daudio1_4/Makefile.in +++ b/dlls/x3daudio1_4/Makefile.in @@ -1,8 +1,9 @@ EXTRADEFS = -DX3DAUDIO1_VER=4 -DXAUDIO2_VER=4 MODULE = x3daudio1_4.dll PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ x3daudio.c diff --git a/dlls/x3daudio1_5/Makefile.in b/dlls/x3daudio1_5/Makefile.in index 0a97959e7eb..3180ac41b17 100644 --- a/dlls/x3daudio1_5/Makefile.in +++ b/dlls/x3daudio1_5/Makefile.in @@ -1,8 +1,9 @@ EXTRADEFS = -DX3DAUDIO1_VER=5 -DXAUDIO2_VER=5 MODULE = x3daudio1_5.dll PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ x3daudio.c diff --git a/dlls/x3daudio1_6/Makefile.in b/dlls/x3daudio1_6/Makefile.in index c88374a381f..54f46236d62 100644 --- a/dlls/x3daudio1_6/Makefile.in +++ b/dlls/x3daudio1_6/Makefile.in @@ -1,8 +1,9 @@ EXTRADEFS = -DX3DAUDIO1_VER=6 -DXAUDIO2_VER=6 MODULE = x3daudio1_6.dll PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ x3daudio.c diff --git a/dlls/x3daudio1_7/Makefile.in b/dlls/x3daudio1_7/Makefile.in index 267a93fd6da..a53a993019e 100644 --- a/dlls/x3daudio1_7/Makefile.in +++ b/dlls/x3daudio1_7/Makefile.in @@ -1,8 +1,9 @@ EXTRADEFS = -DX3DAUDIO1_VER=7 -DXAUDIO2_VER=7 MODULE = x3daudio1_7.dll PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ x3daudio.c diff --git a/dlls/xactengine2_0/Makefile.in b/dlls/xactengine2_0/Makefile.in index a15eeb03576..6a98d4df558 100644 --- a/dlls/xactengine2_0/Makefile.in +++ b/dlls/xactengine2_0/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine2_0.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0200 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine2_4/Makefile.in b/dlls/xactengine2_4/Makefile.in index 43d394dbb73..eef48ed32ea 100644 --- a/dlls/xactengine2_4/Makefile.in +++ b/dlls/xactengine2_4/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine2_4.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0204 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine2_7/Makefile.in b/dlls/xactengine2_7/Makefile.in index 74de611d059..bdc0c5565e3 100644 --- a/dlls/xactengine2_7/Makefile.in +++ b/dlls/xactengine2_7/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine2_7.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0207 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine2_9/Makefile.in b/dlls/xactengine2_9/Makefile.in index bbf66178aca..035b6276e37 100644 --- a/dlls/xactengine2_9/Makefile.in +++ b/dlls/xactengine2_9/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine2_9.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0209 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine3_0/Makefile.in b/dlls/xactengine3_0/Makefile.in index af23d203776..940d33560e2 100644 --- a/dlls/xactengine3_0/Makefile.in +++ b/dlls/xactengine3_0/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine3_0.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0300 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine3_1/Makefile.in b/dlls/xactengine3_1/Makefile.in index 6e8ff952c5d..683be88529e 100644 --- a/dlls/xactengine3_1/Makefile.in +++ b/dlls/xactengine3_1/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine3_1.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0301 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine3_2/Makefile.in b/dlls/xactengine3_2/Makefile.in index be054b53801..f8c0d9cec89 100644 --- a/dlls/xactengine3_2/Makefile.in +++ b/dlls/xactengine3_2/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine3_2.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0302 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine3_3/Makefile.in b/dlls/xactengine3_3/Makefile.in index 1b232bca8fe..8a5854a0813 100644 --- a/dlls/xactengine3_3/Makefile.in +++ b/dlls/xactengine3_3/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine3_3.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0303 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine3_4/Makefile.in b/dlls/xactengine3_4/Makefile.in index 47acf0763d8..024e96c3a17 100644 --- a/dlls/xactengine3_4/Makefile.in +++ b/dlls/xactengine3_4/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine3_4.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0304 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine3_5/Makefile.in b/dlls/xactengine3_5/Makefile.in index b171628fcde..9a1d7813b13 100644 --- a/dlls/xactengine3_5/Makefile.in +++ b/dlls/xactengine3_5/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine3_5.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0305 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine3_6/Makefile.in b/dlls/xactengine3_6/Makefile.in index fb09448023f..859fb906571 100644 --- a/dlls/xactengine3_6/Makefile.in +++ b/dlls/xactengine3_6/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine3_6.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0306 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine3_7/Makefile.in b/dlls/xactengine3_7/Makefile.in index 535b1335087..4e606ad5a49 100644 --- a/dlls/xactengine3_7/Makefile.in +++ b/dlls/xactengine3_7/Makefile.in @@ -2,10 +2,11 @@ MODULE = xactengine3_7.dll IMPORTS = ole32 uuid EXTRADEFS = -DXACT3_VER=0x0307 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xact_dll.c
IDL_SRCS = xact_classes.idl diff --git a/dlls/xapofx1_1/Makefile.in b/dlls/xapofx1_1/Makefile.in index df40978ecde..58e07c94af8 100644 --- a/dlls/xapofx1_1/Makefile.in +++ b/dlls/xapofx1_1/Makefile.in @@ -2,10 +2,11 @@ EXTRADEFS = -DXAPOFX1_VER=1 -DXAUDIO2_VER=2 MODULE = xapofx1_1.dll IMPORTS = ole32 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xapo.c \ xapofx.c \ xaudio_allocator.c diff --git a/dlls/xapofx1_2/Makefile.in b/dlls/xapofx1_2/Makefile.in index 5e70ad2625a..146a679ceff 100644 --- a/dlls/xapofx1_2/Makefile.in +++ b/dlls/xapofx1_2/Makefile.in @@ -2,10 +2,11 @@ EXTRADEFS = -DXAPOFX1_VER=2 -DXAUDIO2_VER=3 MODULE = xapofx1_2.dll IMPORTS = ole32 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xapo.c \ xapofx.c \ xaudio_allocator.c diff --git a/dlls/xapofx1_3/Makefile.in b/dlls/xapofx1_3/Makefile.in index 5cf91a7c2c0..c9f4bd80d92 100644 --- a/dlls/xapofx1_3/Makefile.in +++ b/dlls/xapofx1_3/Makefile.in @@ -2,10 +2,11 @@ EXTRADEFS = -DXAPOFX1_VER=3 -DXAUDIO2_VER=4 MODULE = xapofx1_3.dll IMPORTS = ole32 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xapo.c \ xapofx.c \ xaudio_allocator.c diff --git a/dlls/xapofx1_4/Makefile.in b/dlls/xapofx1_4/Makefile.in index ab1106fcf65..bd71b614bad 100644 --- a/dlls/xapofx1_4/Makefile.in +++ b/dlls/xapofx1_4/Makefile.in @@ -2,10 +2,11 @@ EXTRADEFS = -DXAPOFX1_VER=4 -DXAUDIO2_VER=6 MODULE = xapofx1_4.dll IMPORTS = ole32 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xapo.c \ xapofx.c \ xaudio_allocator.c diff --git a/dlls/xapofx1_5/Makefile.in b/dlls/xapofx1_5/Makefile.in index bda50c04866..42eadd12614 100644 --- a/dlls/xapofx1_5/Makefile.in +++ b/dlls/xapofx1_5/Makefile.in @@ -2,10 +2,11 @@ EXTRADEFS = -DXAPOFX1_VER=5 -DXAUDIO2_VER=7 MODULE = xapofx1_5.dll IMPORTS = ole32 PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ + faudio.c \ xapo.c \ xapofx.c \ xaudio_allocator.c diff --git a/dlls/xaudio2_0/Makefile.in b/dlls/xaudio2_0/Makefile.in index 4f766b82450..9e981603db4 100644 --- a/dlls/xaudio2_0/Makefile.in +++ b/dlls/xaudio2_0/Makefile.in @@ -2,11 +2,12 @@ EXTRADEFS = -DXAUDIO2_VER=0 MODULE = xaudio2_0.dll IMPORTS = advapi32 ole32 user32 uuid PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ xapo.c \ xaudio_allocator.c \ xaudio_dll.c diff --git a/dlls/xaudio2_1/Makefile.in b/dlls/xaudio2_1/Makefile.in index 9e50adfa8e2..fc81d653ab3 100644 --- a/dlls/xaudio2_1/Makefile.in +++ b/dlls/xaudio2_1/Makefile.in @@ -2,11 +2,12 @@ EXTRADEFS = -DXAUDIO2_VER=1 MODULE = xaudio2_1.dll IMPORTS = advapi32 ole32 user32 uuid PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ xapo.c \ xaudio_allocator.c \ xaudio_dll.c diff --git a/dlls/xaudio2_2/Makefile.in b/dlls/xaudio2_2/Makefile.in index b7076fea4e1..f4b0e4578b8 100644 --- a/dlls/xaudio2_2/Makefile.in +++ b/dlls/xaudio2_2/Makefile.in @@ -2,11 +2,12 @@ EXTRADEFS = -DXAUDIO2_VER=2 MODULE = xaudio2_2.dll IMPORTS = advapi32 ole32 user32 uuid PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ xapo.c \ xaudio_allocator.c \ xaudio_dll.c diff --git a/dlls/xaudio2_3/Makefile.in b/dlls/xaudio2_3/Makefile.in index a1140f83363..d9337240350 100644 --- a/dlls/xaudio2_3/Makefile.in +++ b/dlls/xaudio2_3/Makefile.in @@ -2,11 +2,12 @@ EXTRADEFS = -DXAUDIO2_VER=3 MODULE = xaudio2_3.dll IMPORTS = advapi32 ole32 user32 uuid PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ xapo.c \ xaudio_allocator.c \ xaudio_dll.c diff --git a/dlls/xaudio2_4/Makefile.in b/dlls/xaudio2_4/Makefile.in index 6d1f5e4e71f..0a8b6277b8e 100644 --- a/dlls/xaudio2_4/Makefile.in +++ b/dlls/xaudio2_4/Makefile.in @@ -2,11 +2,12 @@ EXTRADEFS = -DXAUDIO2_VER=4 MODULE = xaudio2_4.dll IMPORTS = advapi32 ole32 user32 uuid PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ xapo.c \ xaudio_allocator.c \ xaudio_dll.c diff --git a/dlls/xaudio2_5/Makefile.in b/dlls/xaudio2_5/Makefile.in index d65b4bd1ed2..5805a4d7629 100644 --- a/dlls/xaudio2_5/Makefile.in +++ b/dlls/xaudio2_5/Makefile.in @@ -2,11 +2,12 @@ EXTRADEFS = -DXAUDIO2_VER=5 MODULE = xaudio2_5.dll IMPORTS = advapi32 ole32 user32 uuid PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ xapo.c \ xaudio_allocator.c \ xaudio_dll.c diff --git a/dlls/xaudio2_6/Makefile.in b/dlls/xaudio2_6/Makefile.in index 3bcc930e265..3dd582e512e 100644 --- a/dlls/xaudio2_6/Makefile.in +++ b/dlls/xaudio2_6/Makefile.in @@ -2,11 +2,12 @@ EXTRADEFS = -DXAUDIO2_VER=6 MODULE = xaudio2_6.dll IMPORTS = advapi32 ole32 user32 uuid PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ xapo.c \ xaudio_allocator.c \ xaudio_dll.c diff --git a/dlls/xaudio2_7/Makefile.in b/dlls/xaudio2_7/Makefile.in index 294f841b019..26ced808cc6 100644 --- a/dlls/xaudio2_7/Makefile.in +++ b/dlls/xaudio2_7/Makefile.in @@ -1,11 +1,12 @@ EXTRADEFS = -DXAUDIO2_VER=7 MODULE = xaudio2_7.dll IMPORTS = advapi32 ole32 user32 uuid -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ x3daudio.c \ xapo.c \ xapofx.c \ diff --git a/dlls/xaudio2_7/compat.c b/dlls/xaudio2_7/compat.c index c4538ae3677..e756736e23f 100644 --- a/dlls/xaudio2_7/compat.c +++ b/dlls/xaudio2_7/compat.c @@ -2049,7 +2049,7 @@ static HRESULT WINAPI XA20_GetDeviceCount(IXAudio20 *iface, UINT32 *pCount) { IXAudio2Impl *This = impl_from_IXAudio20(iface); TRACE("%p, %p\n", This, pCount); - return FAudio_GetDeviceCount(This->faudio, pCount); + return pFAudio_GetDeviceCount(This->faudio, pCount); }
static HRESULT WINAPI XA20_GetDeviceDetails(IXAudio20 *iface, UINT32 index, @@ -2057,7 +2057,7 @@ static HRESULT WINAPI XA20_GetDeviceDetails(IXAudio20 *iface, UINT32 index, { IXAudio2Impl *This = impl_from_IXAudio20(iface); TRACE("%p, %u, %p\n", This, index, pDeviceDetails); - return FAudio_GetDeviceDetails(This->faudio, index, (FAudioDeviceDetails *)pDeviceDetails); + return pFAudio_GetDeviceDetails(This->faudio, index, (FAudioDeviceDetails *)pDeviceDetails); }
static HRESULT WINAPI XA20_Initialize(IXAudio20 *iface, UINT32 flags, @@ -2170,9 +2170,9 @@ static HRESULT WINAPI XA20_CreateMasteringVoice(IXAudio20 *iface,
pthread_mutex_unlock(&This->mst.engine_lock);
- FAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst); + pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
- FAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels, + pFAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels, inputSampleRate, flags, deviceIndex, This->mst.effect_chain);
This->mst.in_use = TRUE; @@ -2284,7 +2284,7 @@ static HRESULT WINAPI XA22_GetDeviceCount(IXAudio22 *iface, UINT32 *pCount) { IXAudio2Impl *This = impl_from_IXAudio22(iface); TRACE("%p, %p\n", This, pCount); - return FAudio_GetDeviceCount(This->faudio, pCount); + return pFAudio_GetDeviceCount(This->faudio, pCount); }
static HRESULT WINAPI XA22_GetDeviceDetails(IXAudio22 *iface, UINT32 index, @@ -2292,7 +2292,7 @@ static HRESULT WINAPI XA22_GetDeviceDetails(IXAudio22 *iface, UINT32 index, { IXAudio2Impl *This = impl_from_IXAudio22(iface); TRACE("%p, %u, %p\n", This, index, pDeviceDetails); - return FAudio_GetDeviceDetails(This->faudio, index, (FAudioDeviceDetails *)pDeviceDetails); + return pFAudio_GetDeviceDetails(This->faudio, index, (FAudioDeviceDetails *)pDeviceDetails); }
static HRESULT WINAPI XA22_Initialize(IXAudio22 *iface, UINT32 flags, @@ -2405,9 +2405,9 @@ static HRESULT WINAPI XA22_CreateMasteringVoice(IXAudio22 *iface,
pthread_mutex_unlock(&This->mst.engine_lock);
- FAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst); + pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
- FAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels, + pFAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels, inputSampleRate, flags, deviceIndex, This->mst.effect_chain);
This->mst.in_use = TRUE; @@ -2518,7 +2518,7 @@ 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); + return pFAudio_GetDeviceCount(This->faudio, pCount); }
static HRESULT WINAPI XA23_GetDeviceDetails(IXAudio23 *iface, UINT32 index, @@ -2526,7 +2526,7 @@ static HRESULT WINAPI XA23_GetDeviceDetails(IXAudio23 *iface, UINT32 index, { IXAudio2Impl *This = impl_from_IXAudio23(iface); TRACE("%p, %u, %p\n", This, index, pDeviceDetails); - return FAudio_GetDeviceDetails(This->faudio, index, (FAudioDeviceDetails *)pDeviceDetails); + return pFAudio_GetDeviceDetails(This->faudio, index, (FAudioDeviceDetails *)pDeviceDetails); }
static HRESULT WINAPI XA23_Initialize(IXAudio23 *iface, UINT32 flags, @@ -2639,9 +2639,9 @@ static HRESULT WINAPI XA23_CreateMasteringVoice(IXAudio23 *iface,
pthread_mutex_unlock(&This->mst.engine_lock);
- FAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst); + pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
- FAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels, + pFAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels, inputSampleRate, flags, deviceIndex, This->mst.effect_chain);
This->mst.in_use = TRUE; @@ -2734,7 +2734,7 @@ static HRESULT WINAPI XA27_GetDeviceCount(IXAudio27 *iface, UINT32 *pCount) { IXAudio2Impl *This = impl_from_IXAudio27(iface); TRACE("%p, %p\n", This, pCount); - return FAudio_GetDeviceCount(This->faudio, pCount); + return pFAudio_GetDeviceCount(This->faudio, pCount); }
static HRESULT WINAPI XA27_GetDeviceDetails(IXAudio27 *iface, UINT32 index, @@ -2742,7 +2742,7 @@ static HRESULT WINAPI XA27_GetDeviceDetails(IXAudio27 *iface, UINT32 index, { IXAudio2Impl *This = impl_from_IXAudio27(iface); TRACE("%p, %u, %p\n", This, index, pDeviceDetails); - return FAudio_GetDeviceDetails(This->faudio, index, (FAudioDeviceDetails *)pDeviceDetails); + return pFAudio_GetDeviceDetails(This->faudio, index, (FAudioDeviceDetails *)pDeviceDetails); }
static HRESULT WINAPI XA27_Initialize(IXAudio27 *iface, UINT32 flags, @@ -2827,9 +2827,9 @@ static HRESULT WINAPI XA27_CreateMasteringVoice(IXAudio27 *iface,
pthread_mutex_unlock(&This->mst.engine_lock);
- FAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst); + pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
- FAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels, + pFAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels, inputSampleRate, flags, deviceIndex, This->mst.effect_chain);
This->mst.in_use = TRUE; diff --git a/dlls/xaudio2_7/faudio.c b/dlls/xaudio2_7/faudio.c new file mode 100644 index 00000000000..0858b79d973 --- /dev/null +++ b/dlls/xaudio2_7/faudio.c @@ -0,0 +1,345 @@ +/* + * Copyright 2021 Rémi Bernon 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 + */ + +#include "config.h" + +#include <stdarg.h> +#include <dlfcn.h> + +#define NONAMELESSUNION +#define COBJMACROS + +#include "xaudio_private.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(xaudio2); + +#define MAKE_FUNCPTR(f) typeof(f) * p##f = NULL; +MAKE_FUNCPTR(FAudio_AddRef) +#ifdef HAVE_FAUDIO_COMMITOPERATIONSET +MAKE_FUNCPTR(FAudio_CommitOperationSet) +#else +MAKE_FUNCPTR(FAudio_CommitChanges) +#endif +MAKE_FUNCPTR(FAudio_CreateMasteringVoice) +MAKE_FUNCPTR(FAudio_CreateMasteringVoice8) +MAKE_FUNCPTR(FAudio_CreateSourceVoice) +MAKE_FUNCPTR(FAudio_CreateSubmixVoice) +MAKE_FUNCPTR(FAudio_GetDeviceCount) +MAKE_FUNCPTR(FAudio_GetDeviceDetails) +MAKE_FUNCPTR(FAudio_GetPerformanceData) +MAKE_FUNCPTR(FAudio_Initialize) +MAKE_FUNCPTR(FAudio_RegisterForCallbacks) +MAKE_FUNCPTR(FAudio_Release) +MAKE_FUNCPTR(FAudio_SetDebugConfiguration) +MAKE_FUNCPTR(FAudio_StartEngine) +MAKE_FUNCPTR(FAudio_StopEngine) + +MAKE_FUNCPTR(FAudioVoice_DestroyVoice) +MAKE_FUNCPTR(FAudioVoice_DisableEffect) +MAKE_FUNCPTR(FAudioVoice_EnableEffect) +MAKE_FUNCPTR(FAudioVoice_GetChannelVolumes) +MAKE_FUNCPTR(FAudioVoice_GetEffectParameters) +MAKE_FUNCPTR(FAudioVoice_GetEffectState) +MAKE_FUNCPTR(FAudioVoice_GetFilterParameters) +MAKE_FUNCPTR(FAudioVoice_GetOutputFilterParameters) +MAKE_FUNCPTR(FAudioVoice_GetOutputMatrix) +MAKE_FUNCPTR(FAudioVoice_GetVoiceDetails) +MAKE_FUNCPTR(FAudioVoice_GetVolume) +MAKE_FUNCPTR(FAudioVoice_SetChannelVolumes) +MAKE_FUNCPTR(FAudioVoice_SetEffectChain) +MAKE_FUNCPTR(FAudioVoice_SetEffectParameters) +MAKE_FUNCPTR(FAudioVoice_SetFilterParameters) +MAKE_FUNCPTR(FAudioVoice_SetOutputFilterParameters) +MAKE_FUNCPTR(FAudioVoice_SetOutputMatrix) +MAKE_FUNCPTR(FAudioVoice_SetOutputVoices) +MAKE_FUNCPTR(FAudioVoice_SetVolume) + +MAKE_FUNCPTR(FAudioSourceVoice_Discontinuity) +MAKE_FUNCPTR(FAudioSourceVoice_ExitLoop) +MAKE_FUNCPTR(FAudioSourceVoice_FlushSourceBuffers) +MAKE_FUNCPTR(FAudioSourceVoice_GetFrequencyRatio) +MAKE_FUNCPTR(FAudioSourceVoice_GetState) +MAKE_FUNCPTR(FAudioSourceVoice_SetFrequencyRatio) +MAKE_FUNCPTR(FAudioSourceVoice_SetSourceSampleRate) +MAKE_FUNCPTR(FAudioSourceVoice_Start) +MAKE_FUNCPTR(FAudioSourceVoice_Stop) +MAKE_FUNCPTR(FAudioSourceVoice_SubmitSourceBuffer) + +MAKE_FUNCPTR(FAudioMasteringVoice_GetChannelMask) + +MAKE_FUNCPTR(FAudioCOMConstructWithCustomAllocatorEXT) +MAKE_FUNCPTR(FAudioCreate) +MAKE_FUNCPTR(FAudioCreateReverb) +MAKE_FUNCPTR(FAudioCreateReverb9) +#ifdef HAVE_FAUDIOCREATEREVERB9WITHCUSTOMALLOCATOREXT +MAKE_FUNCPTR(FAudioCreateReverb9WithCustomAllocatorEXT) +#endif +MAKE_FUNCPTR(FAudioCreateReverbWithCustomAllocatorEXT) +MAKE_FUNCPTR(FAudioCreateVolumeMeter) +MAKE_FUNCPTR(FAudioCreateVolumeMeterWithCustomAllocatorEXT) +#ifdef HAVE_FAUDIOLINKEDVERSION +MAKE_FUNCPTR(FAudioLinkedVersion) +#endif + +MAKE_FUNCPTR(F3DAudioCalculate) +MAKE_FUNCPTR(F3DAudioInitialize) +#ifdef HAVE_F3DAUDIOINITIALIZE8 +MAKE_FUNCPTR(F3DAudioInitialize8) +#endif + +MAKE_FUNCPTR(FACTAudioEngine_AddRef) +MAKE_FUNCPTR(FACTAudioEngine_CreateInMemoryWaveBank) +MAKE_FUNCPTR(FACTAudioEngine_CreateSoundBank) +MAKE_FUNCPTR(FACTAudioEngine_CreateStreamingWaveBank) +MAKE_FUNCPTR(FACTAudioEngine_DoWork) +MAKE_FUNCPTR(FACTAudioEngine_GetCategory) +MAKE_FUNCPTR(FACTAudioEngine_GetFinalMixFormat) +MAKE_FUNCPTR(FACTAudioEngine_GetGlobalVariable) +MAKE_FUNCPTR(FACTAudioEngine_GetGlobalVariableIndex) +MAKE_FUNCPTR(FACTAudioEngine_GetRendererCount) +MAKE_FUNCPTR(FACTAudioEngine_GetRendererDetails) +MAKE_FUNCPTR(FACTAudioEngine_Initialize) +MAKE_FUNCPTR(FACTAudioEngine_Pause) +MAKE_FUNCPTR(FACTAudioEngine_PrepareWave) +MAKE_FUNCPTR(FACTAudioEngine_RegisterNotification) +MAKE_FUNCPTR(FACTAudioEngine_Release) +MAKE_FUNCPTR(FACTAudioEngine_SetGlobalVariable) +MAKE_FUNCPTR(FACTAudioEngine_SetVolume) +MAKE_FUNCPTR(FACTAudioEngine_ShutDown) +MAKE_FUNCPTR(FACTAudioEngine_Stop) +MAKE_FUNCPTR(FACTAudioEngine_UnRegisterNotification) + +MAKE_FUNCPTR(FACTCreateEngineWithCustomAllocatorEXT) + +MAKE_FUNCPTR(FACTCue_Destroy) +MAKE_FUNCPTR(FACTCue_GetProperties) +MAKE_FUNCPTR(FACTCue_GetState) +MAKE_FUNCPTR(FACTCue_GetVariable) +MAKE_FUNCPTR(FACTCue_GetVariableIndex) +MAKE_FUNCPTR(FACTCue_Pause) +MAKE_FUNCPTR(FACTCue_Play) +MAKE_FUNCPTR(FACTCue_SetMatrixCoefficients) +MAKE_FUNCPTR(FACTCue_SetVariable) +MAKE_FUNCPTR(FACTCue_Stop) + +MAKE_FUNCPTR(FACTSoundBank_Destroy) +MAKE_FUNCPTR(FACTSoundBank_GetCueIndex) +MAKE_FUNCPTR(FACTSoundBank_GetCueProperties) +MAKE_FUNCPTR(FACTSoundBank_GetNumCues) +MAKE_FUNCPTR(FACTSoundBank_GetState) +MAKE_FUNCPTR(FACTSoundBank_Play) +MAKE_FUNCPTR(FACTSoundBank_Prepare) +MAKE_FUNCPTR(FACTSoundBank_Stop) + +MAKE_FUNCPTR(FACTWave_Destroy) +MAKE_FUNCPTR(FACTWave_GetProperties) +MAKE_FUNCPTR(FACTWave_GetState) +MAKE_FUNCPTR(FACTWave_Pause) +MAKE_FUNCPTR(FACTWave_Play) +MAKE_FUNCPTR(FACTWave_SetMatrixCoefficients) +MAKE_FUNCPTR(FACTWave_SetPitch) +MAKE_FUNCPTR(FACTWave_SetVolume) +MAKE_FUNCPTR(FACTWave_Stop) + +MAKE_FUNCPTR(FACTWaveBank_Destroy) +MAKE_FUNCPTR(FACTWaveBank_GetNumWaves) +MAKE_FUNCPTR(FACTWaveBank_GetState) +MAKE_FUNCPTR(FACTWaveBank_GetWaveIndex) +MAKE_FUNCPTR(FACTWaveBank_GetWaveProperties) +MAKE_FUNCPTR(FACTWaveBank_Play) +MAKE_FUNCPTR(FACTWaveBank_Prepare) +MAKE_FUNCPTR(FACTWaveBank_Stop) + +MAKE_FUNCPTR(FAPOFX_CreateFXWithCustomAllocatorEXT) +#undef MAKE_FUNCPTR + +#ifdef SONAME_LIBFAUDIO + +BOOL load_faudio(void) +{ + void *faudio; + + if (!(faudio = dlopen( SONAME_LIBFAUDIO, RTLD_NOW ))) + { + ERR( "FAudio library %s not found.\n", SONAME_LIBFAUDIO ); + return FALSE; + } + +#define LOAD_FUNCPTR(f) \ + if (!(p##f = dlsym( faudio, #f ))) \ + { \ + ERR( "FAudio function %s not found\n", #f ); \ + dlclose( faudio ); \ + return FALSE; \ + } +LOAD_FUNCPTR(FAudio_AddRef) +#ifdef HAVE_FAUDIO_COMMITOPERATIONSET +LOAD_FUNCPTR(FAudio_CommitOperationSet) +#else +LOAD_FUNCPTR(FAudio_CommitChanges) +#endif +LOAD_FUNCPTR(FAudio_CreateMasteringVoice) +LOAD_FUNCPTR(FAudio_CreateMasteringVoice8) +LOAD_FUNCPTR(FAudio_CreateSourceVoice) +LOAD_FUNCPTR(FAudio_CreateSubmixVoice) +LOAD_FUNCPTR(FAudio_GetDeviceCount) +LOAD_FUNCPTR(FAudio_GetDeviceDetails) +LOAD_FUNCPTR(FAudio_GetPerformanceData) +LOAD_FUNCPTR(FAudio_Initialize) +LOAD_FUNCPTR(FAudio_RegisterForCallbacks) +LOAD_FUNCPTR(FAudio_Release) +LOAD_FUNCPTR(FAudio_SetDebugConfiguration) +LOAD_FUNCPTR(FAudio_StartEngine) +LOAD_FUNCPTR(FAudio_StopEngine) + +LOAD_FUNCPTR(FAudioVoice_DestroyVoice) +LOAD_FUNCPTR(FAudioVoice_DisableEffect) +LOAD_FUNCPTR(FAudioVoice_EnableEffect) +LOAD_FUNCPTR(FAudioVoice_GetChannelVolumes) +LOAD_FUNCPTR(FAudioVoice_GetEffectParameters) +LOAD_FUNCPTR(FAudioVoice_GetEffectState) +LOAD_FUNCPTR(FAudioVoice_GetFilterParameters) +LOAD_FUNCPTR(FAudioVoice_GetOutputFilterParameters) +LOAD_FUNCPTR(FAudioVoice_GetOutputMatrix) +LOAD_FUNCPTR(FAudioVoice_GetVoiceDetails) +LOAD_FUNCPTR(FAudioVoice_GetVolume) +LOAD_FUNCPTR(FAudioVoice_SetChannelVolumes) +LOAD_FUNCPTR(FAudioVoice_SetEffectChain) +LOAD_FUNCPTR(FAudioVoice_SetEffectParameters) +LOAD_FUNCPTR(FAudioVoice_SetFilterParameters) +LOAD_FUNCPTR(FAudioVoice_SetOutputFilterParameters) +LOAD_FUNCPTR(FAudioVoice_SetOutputMatrix) +LOAD_FUNCPTR(FAudioVoice_SetOutputVoices) +LOAD_FUNCPTR(FAudioVoice_SetVolume) + +LOAD_FUNCPTR(FAudioSourceVoice_Discontinuity) +LOAD_FUNCPTR(FAudioSourceVoice_ExitLoop) +LOAD_FUNCPTR(FAudioSourceVoice_FlushSourceBuffers) +LOAD_FUNCPTR(FAudioSourceVoice_GetFrequencyRatio) +LOAD_FUNCPTR(FAudioSourceVoice_GetState) +LOAD_FUNCPTR(FAudioSourceVoice_SetFrequencyRatio) +LOAD_FUNCPTR(FAudioSourceVoice_SetSourceSampleRate) +LOAD_FUNCPTR(FAudioSourceVoice_Start) +LOAD_FUNCPTR(FAudioSourceVoice_Stop) +LOAD_FUNCPTR(FAudioSourceVoice_SubmitSourceBuffer) + +LOAD_FUNCPTR(FAudioMasteringVoice_GetChannelMask) + +LOAD_FUNCPTR(FAudioCOMConstructWithCustomAllocatorEXT) +LOAD_FUNCPTR(FAudioCreate) +LOAD_FUNCPTR(FAudioCreateReverb) +LOAD_FUNCPTR(FAudioCreateReverb9) +#ifdef HAVE_FAUDIOCREATEREVERB9WITHCUSTOMALLOCATOREXT +LOAD_FUNCPTR(FAudioCreateReverb9WithCustomAllocatorEXT) +#endif +LOAD_FUNCPTR(FAudioCreateReverbWithCustomAllocatorEXT) +LOAD_FUNCPTR(FAudioCreateVolumeMeter) +LOAD_FUNCPTR(FAudioCreateVolumeMeterWithCustomAllocatorEXT) +#ifdef HAVE_FAUDIOLINKEDVERSION +LOAD_FUNCPTR(FAudioLinkedVersion) +#endif + +LOAD_FUNCPTR(F3DAudioCalculate) +LOAD_FUNCPTR(F3DAudioInitialize) +#ifdef HAVE_F3DAUDIOINITIALIZE8 +LOAD_FUNCPTR(F3DAudioInitialize8) +#endif + +LOAD_FUNCPTR(FACTAudioEngine_AddRef) +LOAD_FUNCPTR(FACTAudioEngine_CreateInMemoryWaveBank) +LOAD_FUNCPTR(FACTAudioEngine_CreateSoundBank) +LOAD_FUNCPTR(FACTAudioEngine_CreateStreamingWaveBank) +LOAD_FUNCPTR(FACTAudioEngine_DoWork) +LOAD_FUNCPTR(FACTAudioEngine_GetCategory) +LOAD_FUNCPTR(FACTAudioEngine_GetFinalMixFormat) +LOAD_FUNCPTR(FACTAudioEngine_GetGlobalVariable) +LOAD_FUNCPTR(FACTAudioEngine_GetGlobalVariableIndex) +LOAD_FUNCPTR(FACTAudioEngine_GetRendererCount) +LOAD_FUNCPTR(FACTAudioEngine_GetRendererDetails) +LOAD_FUNCPTR(FACTAudioEngine_Initialize) +LOAD_FUNCPTR(FACTAudioEngine_Pause) +LOAD_FUNCPTR(FACTAudioEngine_PrepareWave) +LOAD_FUNCPTR(FACTAudioEngine_RegisterNotification) +LOAD_FUNCPTR(FACTAudioEngine_Release) +LOAD_FUNCPTR(FACTAudioEngine_SetGlobalVariable) +LOAD_FUNCPTR(FACTAudioEngine_SetVolume) +LOAD_FUNCPTR(FACTAudioEngine_ShutDown) +LOAD_FUNCPTR(FACTAudioEngine_Stop) +LOAD_FUNCPTR(FACTAudioEngine_UnRegisterNotification) + +LOAD_FUNCPTR(FACTCreateEngineWithCustomAllocatorEXT) + +LOAD_FUNCPTR(FACTCue_Destroy) +LOAD_FUNCPTR(FACTCue_GetProperties) +LOAD_FUNCPTR(FACTCue_GetState) +LOAD_FUNCPTR(FACTCue_GetVariable) +LOAD_FUNCPTR(FACTCue_GetVariableIndex) +LOAD_FUNCPTR(FACTCue_Pause) +LOAD_FUNCPTR(FACTCue_Play) +LOAD_FUNCPTR(FACTCue_SetMatrixCoefficients) +LOAD_FUNCPTR(FACTCue_SetVariable) +LOAD_FUNCPTR(FACTCue_Stop) + +LOAD_FUNCPTR(FACTSoundBank_Destroy) +LOAD_FUNCPTR(FACTSoundBank_GetCueIndex) +LOAD_FUNCPTR(FACTSoundBank_GetCueProperties) +LOAD_FUNCPTR(FACTSoundBank_GetNumCues) +LOAD_FUNCPTR(FACTSoundBank_GetState) +LOAD_FUNCPTR(FACTSoundBank_Play) +LOAD_FUNCPTR(FACTSoundBank_Prepare) +LOAD_FUNCPTR(FACTSoundBank_Stop) + +LOAD_FUNCPTR(FACTWave_Destroy) +LOAD_FUNCPTR(FACTWave_GetProperties) +LOAD_FUNCPTR(FACTWave_GetState) +LOAD_FUNCPTR(FACTWave_Pause) +LOAD_FUNCPTR(FACTWave_Play) +LOAD_FUNCPTR(FACTWave_SetMatrixCoefficients) +LOAD_FUNCPTR(FACTWave_SetPitch) +LOAD_FUNCPTR(FACTWave_SetVolume) +LOAD_FUNCPTR(FACTWave_Stop) + +LOAD_FUNCPTR(FACTWaveBank_Destroy) +LOAD_FUNCPTR(FACTWaveBank_GetNumWaves) +LOAD_FUNCPTR(FACTWaveBank_GetState) +LOAD_FUNCPTR(FACTWaveBank_GetWaveIndex) +LOAD_FUNCPTR(FACTWaveBank_GetWaveProperties) +LOAD_FUNCPTR(FACTWaveBank_Play) +LOAD_FUNCPTR(FACTWaveBank_Prepare) +LOAD_FUNCPTR(FACTWaveBank_Stop) + +LOAD_FUNCPTR(FAPOFX_CreateFXWithCustomAllocatorEXT) +#undef LOAD_FUNCPTR + + return TRUE; +} + +#else /* SONAME_LIBFAUDIO */ + +BOOL load_faudio(void) +{ + ERR( "FAudio support not compiled in.\n" ); + return FALSE; +} + +#endif /* SONAME_LIBFAUDIO */ + +void unload_faudio(void) +{ +} diff --git a/dlls/xaudio2_7/x3daudio.c b/dlls/xaudio2_7/x3daudio.c index e0a0280c3cd..f07a1282150 100644 --- a/dlls/xaudio2_7/x3daudio.c +++ b/dlls/xaudio2_7/x3daudio.c @@ -24,6 +24,7 @@ #include "windef.h" #include "winbase.h" #include "x3daudio.h" +#include "xaudio_private.h"
#include "wine/debug.h"
@@ -33,15 +34,34 @@ WINE_DEFAULT_DEBUG_CHANNEL(xaudio2); #endif
+#ifdef X3DAUDIO1_VER +BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved) +{ + TRACE("inst %p, reason %d, reserved %p.\n", inst, reason, reserved ); + + switch (reason) + { + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(inst); + if (!load_faudio()) return FALSE; + break; + case DLL_PROCESS_DETACH: + unload_faudio(); + break; + } + return TRUE; +} +#endif /* X3DAUDIO1_VER */ + #if XAUDIO2_VER >= 8 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); + return pF3DAudioInitialize8(chanmask, speedofsound, handle); #else - F3DAudioInitialize(chanmask, speedofsound, handle); + pF3DAudioInitialize(chanmask, speedofsound, handle); return S_OK; #endif } @@ -57,7 +77,7 @@ void CDECL LEGACY_X3DAudioInitialize(UINT32 chanmask, float speedofsound, #endif { TRACE("0x%x, %f, %p\n", chanmask, speedofsound, handle); - F3DAudioInitialize(chanmask, speedofsound, handle); + pF3DAudioInitialize(chanmask, speedofsound, handle); } #endif /* X3DAUDIO1_VER */
@@ -73,7 +93,7 @@ void CDECL X3DAudioCalculate(const X3DAUDIO_HANDLE handle, #endif { TRACE("%p, %p, %p, 0x%x, %p\n", handle, listener, emitter, flags, out); - F3DAudioCalculate( + pF3DAudioCalculate( handle, (const F3DAUDIO_LISTENER*) listener, (const F3DAUDIO_EMITTER*) emitter, diff --git a/dlls/xaudio2_7/xact_dll.c b/dlls/xaudio2_7/xact_dll.c index 231ef753f22..229980216f7 100644 --- a/dlls/xaudio2_7/xact_dll.c +++ b/dlls/xaudio2_7/xact_dll.c @@ -25,6 +25,7 @@ #define COBJMACROS
#include "initguid.h" +#include "xaudio_private.h" #if XACT3_VER < 0x0300 #include "xact.h" #else @@ -66,7 +67,7 @@ static HRESULT WINAPI IXACT3CueImpl_Play(IXACT3Cue *iface)
TRACE("(%p)\n", iface);
- return FACTCue_Play(This->fact_cue); + return pFACTCue_Play(This->fact_cue); }
static HRESULT WINAPI IXACT3CueImpl_Stop(IXACT3Cue *iface, DWORD dwFlags) @@ -75,7 +76,7 @@ static HRESULT WINAPI IXACT3CueImpl_Stop(IXACT3Cue *iface, DWORD dwFlags)
TRACE("(%p)->(%u)\n", iface, dwFlags);
- return FACTCue_Stop(This->fact_cue, dwFlags); + return pFACTCue_Stop(This->fact_cue, dwFlags); }
static HRESULT WINAPI IXACT3CueImpl_GetState(IXACT3Cue *iface, DWORD *pdwState) @@ -84,7 +85,7 @@ static HRESULT WINAPI IXACT3CueImpl_GetState(IXACT3Cue *iface, DWORD *pdwState)
TRACE("(%p)->(%p)\n", iface, pdwState);
- return FACTCue_GetState(This->fact_cue, pdwState); + return pFACTCue_GetState(This->fact_cue, pdwState); }
static HRESULT WINAPI IXACT3CueImpl_Destroy(IXACT3Cue *iface) @@ -94,9 +95,9 @@ static HRESULT WINAPI IXACT3CueImpl_Destroy(IXACT3Cue *iface)
TRACE("(%p)\n", iface);
- ret = FACTCue_Destroy(This->fact_cue); + ret = pFACTCue_Destroy(This->fact_cue); if (ret != 0) - WARN("FACTCue_Destroy returned %d\n", ret); + WARN("pFACTCue_Destroy returned %d\n", ret); HeapFree(GetProcessHeap(), 0, This); return S_OK; } @@ -143,7 +144,7 @@ static HRESULT WINAPI IXACT3CueImpl_SetMatrixCoefficients(IXACT3Cue *iface, TRACE("(%p)->(%u, %u, %p)\n", iface, uSrcChannelCount, uDstChannelCount, pMatrixCoefficients);
- return FACTCue_SetMatrixCoefficients(This->fact_cue, uSrcChannelCount, + return pFACTCue_SetMatrixCoefficients(This->fact_cue, uSrcChannelCount, uDstChannelCount, pMatrixCoefficients); }
@@ -154,7 +155,7 @@ static XACTVARIABLEINDEX WINAPI IXACT3CueImpl_GetVariableIndex(IXACT3Cue *iface,
TRACE("(%p)->(%s)\n", iface, szFriendlyName);
- return FACTCue_GetVariableIndex(This->fact_cue, szFriendlyName); + return pFACTCue_GetVariableIndex(This->fact_cue, szFriendlyName); }
static HRESULT WINAPI IXACT3CueImpl_SetVariable(IXACT3Cue *iface, @@ -164,7 +165,7 @@ static HRESULT WINAPI IXACT3CueImpl_SetVariable(IXACT3Cue *iface,
TRACE("(%p)->(%u, %f)\n", iface, nIndex, nValue);
- return FACTCue_SetVariable(This->fact_cue, nIndex, nValue); + return pFACTCue_SetVariable(This->fact_cue, nIndex, nValue); }
static HRESULT WINAPI IXACT3CueImpl_GetVariable(IXACT3Cue *iface, @@ -174,7 +175,7 @@ static HRESULT WINAPI IXACT3CueImpl_GetVariable(IXACT3Cue *iface,
TRACE("(%p)->(%u, %p)\n", iface, nIndex, nValue);
- return FACTCue_GetVariable(This->fact_cue, nIndex, nValue); + return pFACTCue_GetVariable(This->fact_cue, nIndex, nValue); }
static HRESULT WINAPI IXACT3CueImpl_Pause(IXACT3Cue *iface, BOOL fPause) @@ -183,7 +184,7 @@ static HRESULT WINAPI IXACT3CueImpl_Pause(IXACT3Cue *iface, BOOL fPause)
TRACE("(%p)->(%u)\n", iface, fPause);
- return FACTCue_Pause(This->fact_cue, fPause); + return pFACTCue_Pause(This->fact_cue, fPause); }
#if XACT3_VER >= 0x0205 @@ -196,7 +197,7 @@ static HRESULT WINAPI IXACT3CueImpl_GetProperties(IXACT3Cue *iface,
TRACE("(%p)->(%p)\n", iface, ppProperties);
- hr = FACTCue_GetProperties(This->fact_cue, &fProps); + hr = pFACTCue_GetProperties(This->fact_cue, &fProps); if(FAILED(hr)) return hr;
@@ -269,7 +270,7 @@ static XACTINDEX WINAPI IXACT3SoundBankImpl_GetCueIndex(IXACT3SoundBank *iface,
TRACE("(%p)->(%s)\n", This, szFriendlyName);
- return FACTSoundBank_GetCueIndex(This->fact_soundbank, szFriendlyName); + return pFACTSoundBank_GetCueIndex(This->fact_soundbank, szFriendlyName); }
#if XACT3_VER >= 0x0205 @@ -280,7 +281,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_GetNumCues(IXACT3SoundBank *iface,
TRACE("(%p)->(%p)\n", This, pnNumCues);
- return FACTSoundBank_GetNumCues(This->fact_soundbank, pnNumCues); + return pFACTSoundBank_GetNumCues(This->fact_soundbank, pnNumCues); }
static HRESULT WINAPI IXACT3SoundBankImpl_GetCueProperties(IXACT3SoundBank *iface, @@ -290,7 +291,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_GetCueProperties(IXACT3SoundBank *ifac
TRACE("(%p)->(%u, %p)\n", This, nCueIndex, pProperties);
- return FACTSoundBank_GetCueProperties(This->fact_soundbank, nCueIndex, + return pFACTSoundBank_GetCueProperties(This->fact_soundbank, nCueIndex, (FACTCueProperties*) pProperties); } #endif @@ -307,7 +308,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_Prepare(IXACT3SoundBank *iface, TRACE("(%p)->(%u, 0x%x, %u, %p)\n", This, nCueIndex, dwFlags, timeOffset, ppCue);
- ret = FACTSoundBank_Prepare(This->fact_soundbank, nCueIndex, dwFlags, + ret = pFACTSoundBank_Prepare(This->fact_soundbank, nCueIndex, dwFlags, timeOffset, &fcue); if(ret != 0) { @@ -318,7 +319,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_Prepare(IXACT3SoundBank *iface, cue = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*cue)); if (!cue) { - FACTCue_Destroy(fcue); + pFACTCue_Destroy(fcue); ERR("Failed to allocate XACT3CueImpl!\n"); return E_OUTOFMEMORY; } @@ -349,10 +350,10 @@ static HRESULT WINAPI IXACT3SoundBankImpl_Play(IXACT3SoundBank *iface, * -flibit */ if (ppCue == NULL){ - hr = FACTSoundBank_Play(This->fact_soundbank, nCueIndex, dwFlags, + hr = pFACTSoundBank_Play(This->fact_soundbank, nCueIndex, dwFlags, timeOffset, NULL); }else{ - hr = FACTSoundBank_Play(This->fact_soundbank, nCueIndex, dwFlags, + hr = pFACTSoundBank_Play(This->fact_soundbank, nCueIndex, dwFlags, timeOffset, &fcue); if(FAILED(hr)) return hr; @@ -360,7 +361,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_Play(IXACT3SoundBank *iface, cue = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*cue)); if (!cue) { - FACTCue_Destroy(fcue); + pFACTCue_Destroy(fcue); ERR("Failed to allocate XACT3CueImpl!\n"); return E_OUTOFMEMORY; } @@ -380,7 +381,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_Stop(IXACT3SoundBank *iface,
TRACE("(%p)->(%u)\n", This, dwFlags);
- return FACTSoundBank_Stop(This->fact_soundbank, nCueIndex, dwFlags); + return pFACTSoundBank_Stop(This->fact_soundbank, nCueIndex, dwFlags); }
static HRESULT WINAPI IXACT3SoundBankImpl_Destroy(IXACT3SoundBank *iface) @@ -390,7 +391,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_Destroy(IXACT3SoundBank *iface)
TRACE("(%p)\n", This);
- hr = FACTSoundBank_Destroy(This->fact_soundbank); + hr = pFACTSoundBank_Destroy(This->fact_soundbank); HeapFree(GetProcessHeap(), 0, This); return hr; } @@ -402,7 +403,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_GetState(IXACT3SoundBank *iface,
TRACE("(%p)->(%p)\n", This, pdwState);
- return FACTSoundBank_GetState(This->fact_soundbank, pdwState); + return pFACTSoundBank_GetState(This->fact_soundbank, pdwState); }
static const IXACT3SoundBankVtbl XACT3SoundBank_Vtbl = @@ -439,7 +440,7 @@ static HRESULT WINAPI IXACT3WaveImpl_Destroy(IXACT3Wave *iface)
TRACE("(%p)\n", This);
- hr = FACTWave_Destroy(This->fact_wave); + hr = pFACTWave_Destroy(This->fact_wave); HeapFree(GetProcessHeap(), 0, This); return hr; } @@ -450,7 +451,7 @@ static HRESULT WINAPI IXACT3WaveImpl_Play(IXACT3Wave *iface)
TRACE("(%p)\n", This);
- return FACTWave_Play(This->fact_wave); + return pFACTWave_Play(This->fact_wave); }
static HRESULT WINAPI IXACT3WaveImpl_Stop(IXACT3Wave *iface, DWORD dwFlags) @@ -459,7 +460,7 @@ static HRESULT WINAPI IXACT3WaveImpl_Stop(IXACT3Wave *iface, DWORD dwFlags)
TRACE("(%p)->(0x%x)\n", This, dwFlags);
- return FACTWave_Stop(This->fact_wave, dwFlags); + return pFACTWave_Stop(This->fact_wave, dwFlags); }
static HRESULT WINAPI IXACT3WaveImpl_Pause(IXACT3Wave *iface, BOOL fPause) @@ -468,7 +469,7 @@ static HRESULT WINAPI IXACT3WaveImpl_Pause(IXACT3Wave *iface, BOOL fPause)
TRACE("(%p)->(%u)\n", This, fPause);
- return FACTWave_Pause(This->fact_wave, fPause); + return pFACTWave_Pause(This->fact_wave, fPause); }
static HRESULT WINAPI IXACT3WaveImpl_GetState(IXACT3Wave *iface, DWORD *pdwState) @@ -477,7 +478,7 @@ static HRESULT WINAPI IXACT3WaveImpl_GetState(IXACT3Wave *iface, DWORD *pdwState
TRACE("(%p)->(%p)\n", This, pdwState);
- return FACTWave_GetState(This->fact_wave, pdwState); + return pFACTWave_GetState(This->fact_wave, pdwState); }
static HRESULT WINAPI IXACT3WaveImpl_SetPitch(IXACT3Wave *iface, XACTPITCH pitch) @@ -486,7 +487,7 @@ static HRESULT WINAPI IXACT3WaveImpl_SetPitch(IXACT3Wave *iface, XACTPITCH pitch
TRACE("(%p)->(%d)\n", This, pitch);
- return FACTWave_SetPitch(This->fact_wave, pitch); + return pFACTWave_SetPitch(This->fact_wave, pitch); }
static HRESULT WINAPI IXACT3WaveImpl_SetVolume(IXACT3Wave *iface, XACTVOLUME volume) @@ -495,7 +496,7 @@ static HRESULT WINAPI IXACT3WaveImpl_SetVolume(IXACT3Wave *iface, XACTVOLUME vol
TRACE("(%p)->(%f)\n", This, volume);
- return FACTWave_SetVolume(This->fact_wave, volume); + return pFACTWave_SetVolume(This->fact_wave, volume); }
static HRESULT WINAPI IXACT3WaveImpl_SetMatrixCoefficients(IXACT3Wave *iface, @@ -507,7 +508,7 @@ static HRESULT WINAPI IXACT3WaveImpl_SetMatrixCoefficients(IXACT3Wave *iface, TRACE("(%p)->(%u, %u, %p)\n", This, uSrcChannelCount, uDstChannelCount, pMatrixCoefficients);
- return FACTWave_SetMatrixCoefficients(This->fact_wave, uSrcChannelCount, + return pFACTWave_SetMatrixCoefficients(This->fact_wave, uSrcChannelCount, uDstChannelCount, pMatrixCoefficients); }
@@ -518,7 +519,7 @@ static HRESULT WINAPI IXACT3WaveImpl_GetProperties(IXACT3Wave *iface,
TRACE("(%p)->(%p)\n", This, pProperties);
- return FACTWave_GetProperties(This->fact_wave, + return pFACTWave_GetProperties(This->fact_wave, (FACTWaveInstanceProperties*) pProperties); }
@@ -555,7 +556,7 @@ static HRESULT WINAPI IXACT3WaveBankImpl_Destroy(IXACT3WaveBank *iface)
TRACE("(%p)\n", This);
- hr = FACTWaveBank_Destroy(This->fact_wavebank); + hr = pFACTWaveBank_Destroy(This->fact_wavebank); HeapFree(GetProcessHeap(), 0, This); return hr; } @@ -569,7 +570,7 @@ static HRESULT WINAPI IXACT3WaveBankImpl_GetNumWaves(IXACT3WaveBank *iface,
TRACE("(%p)->(%p)\n", This, pnNumWaves);
- return FACTWaveBank_GetNumWaves(This->fact_wavebank, pnNumWaves); + return pFACTWaveBank_GetNumWaves(This->fact_wavebank, pnNumWaves); }
static XACTINDEX WINAPI IXACT3WaveBankImpl_GetWaveIndex(IXACT3WaveBank *iface, @@ -579,7 +580,7 @@ static XACTINDEX WINAPI IXACT3WaveBankImpl_GetWaveIndex(IXACT3WaveBank *iface,
TRACE("(%p)->(%s)\n", This, szFriendlyName);
- return FACTWaveBank_GetWaveIndex(This->fact_wavebank, szFriendlyName); + return pFACTWaveBank_GetWaveIndex(This->fact_wavebank, szFriendlyName); }
static HRESULT WINAPI IXACT3WaveBankImpl_GetWaveProperties(IXACT3WaveBank *iface, @@ -589,7 +590,7 @@ static HRESULT WINAPI IXACT3WaveBankImpl_GetWaveProperties(IXACT3WaveBank *iface
TRACE("(%p)->(%u, %p)\n", This, nWaveIndex, pWaveProperties);
- return FACTWaveBank_GetWaveProperties(This->fact_wavebank, nWaveIndex, + return pFACTWaveBank_GetWaveProperties(This->fact_wavebank, nWaveIndex, (FACTWaveProperties*) pWaveProperties); }
@@ -605,7 +606,7 @@ static HRESULT WINAPI IXACT3WaveBankImpl_Prepare(IXACT3WaveBank *iface, TRACE("(%p)->(0x%x, %u, 0x%x, %u, %p)\n", This, nWaveIndex, dwFlags, dwPlayOffset, nLoopCount, ppWave);
- ret = FACTWaveBank_Prepare(This->fact_wavebank, nWaveIndex, dwFlags, + ret = pFACTWaveBank_Prepare(This->fact_wavebank, nWaveIndex, dwFlags, dwPlayOffset, nLoopCount, &fwave); if(ret != 0) { @@ -616,7 +617,7 @@ static HRESULT WINAPI IXACT3WaveBankImpl_Prepare(IXACT3WaveBank *iface, wave = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*wave)); if (!wave) { - FACTWave_Destroy(fwave); + pFACTWave_Destroy(fwave); ERR("Failed to allocate XACT3WaveImpl!\n"); return E_OUTOFMEMORY; } @@ -647,10 +648,10 @@ static HRESULT WINAPI IXACT3WaveBankImpl_Play(IXACT3WaveBank *iface, * -flibit */ if (ppWave == NULL){ - hr = FACTWaveBank_Play(This->fact_wavebank, nWaveIndex, dwFlags, + hr = pFACTWaveBank_Play(This->fact_wavebank, nWaveIndex, dwFlags, dwPlayOffset, nLoopCount, NULL); }else{ - hr = FACTWaveBank_Play(This->fact_wavebank, nWaveIndex, dwFlags, + hr = pFACTWaveBank_Play(This->fact_wavebank, nWaveIndex, dwFlags, dwPlayOffset, nLoopCount, &fwave); if(FAILED(hr)) return hr; @@ -658,7 +659,7 @@ static HRESULT WINAPI IXACT3WaveBankImpl_Play(IXACT3WaveBank *iface, wave = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*wave)); if (!wave) { - FACTWave_Destroy(fwave); + pFACTWave_Destroy(fwave); ERR("Failed to allocate XACT3WaveImpl!\n"); return E_OUTOFMEMORY; } @@ -678,7 +679,7 @@ static HRESULT WINAPI IXACT3WaveBankImpl_Stop(IXACT3WaveBank *iface,
TRACE("(%p)->(%u, %u)\n", This, nWaveIndex, dwFlags);
- return FACTWaveBank_Stop(This->fact_wavebank, nWaveIndex, dwFlags); + return pFACTWaveBank_Stop(This->fact_wavebank, nWaveIndex, dwFlags); }
#endif @@ -690,7 +691,7 @@ static HRESULT WINAPI IXACT3WaveBankImpl_GetState(IXACT3WaveBank *iface,
TRACE("(%p)->(%p)\n", This, pdwState);
- return FACTWaveBank_GetState(This->fact_wavebank, pdwState); + return pFACTWaveBank_GetState(This->fact_wavebank, pdwState); }
static const IXACT3WaveBankVtbl XACT3WaveBank_Vtbl = @@ -777,7 +778,7 @@ static HRESULT WINAPI IXACT3EngineImpl_QueryInterface(IXACT3Engine *iface, static ULONG WINAPI IXACT3EngineImpl_AddRef(IXACT3Engine *iface) { XACT3EngineImpl *This = impl_from_IXACT3Engine(iface); - ULONG ref = FACTAudioEngine_AddRef(This->fact_engine); + ULONG ref = pFACTAudioEngine_AddRef(This->fact_engine); TRACE("(%p)->(): Refcount now %u\n", This, ref); return ref; } @@ -785,7 +786,7 @@ static ULONG WINAPI IXACT3EngineImpl_AddRef(IXACT3Engine *iface) static ULONG WINAPI IXACT3EngineImpl_Release(IXACT3Engine *iface) { XACT3EngineImpl *This = impl_from_IXACT3Engine(iface); - ULONG ref = FACTAudioEngine_Release(This->fact_engine); + ULONG ref = pFACTAudioEngine_Release(This->fact_engine);
TRACE("(%p)->(): Refcount now %u\n", This, ref);
@@ -801,7 +802,7 @@ static HRESULT WINAPI IXACT3EngineImpl_GetRendererCount(IXACT3Engine *iface,
TRACE("(%p)->(%p)\n", This, pnRendererCount);
- return FACTAudioEngine_GetRendererCount(This->fact_engine, pnRendererCount); + return pFACTAudioEngine_GetRendererCount(This->fact_engine, pnRendererCount); }
static HRESULT WINAPI IXACT3EngineImpl_GetRendererDetails(IXACT3Engine *iface, @@ -811,7 +812,7 @@ static HRESULT WINAPI IXACT3EngineImpl_GetRendererDetails(IXACT3Engine *iface,
TRACE("(%p)->(%d, %p)\n", This, nRendererIndex, pRendererDetails);
- return FACTAudioEngine_GetRendererDetails(This->fact_engine, + return pFACTAudioEngine_GetRendererDetails(This->fact_engine, nRendererIndex, (FACTRendererDetails*) pRendererDetails); }
@@ -824,7 +825,7 @@ static HRESULT WINAPI IXACT3EngineImpl_GetFinalMixFormat(IXACT3Engine *iface,
TRACE("(%p)->(%p)\n", This, pFinalMixFormat);
- return FACTAudioEngine_GetFinalMixFormat(This->fact_engine, + return pFACTAudioEngine_GetFinalMixFormat(This->fact_engine, (FAudioWaveFormatExtensible*) pFinalMixFormat); }
@@ -900,9 +901,9 @@ static HRESULT WINAPI IXACT3EngineImpl_Initialize(IXACT3Engine *iface,
This->notification_callback = (XACT_NOTIFICATION_CALLBACK)pParams->fnNotificationCallback;
- ret = FACTAudioEngine_Initialize(This->fact_engine, ¶ms); + ret = pFACTAudioEngine_Initialize(This->fact_engine, ¶ms); if (ret != 0) - WARN("FACTAudioEngine_Initialize returned %d\n", ret); + WARN("pFACTAudioEngine_Initialize returned %d\n", ret);
return !ret ? S_OK : E_FAIL; } @@ -913,7 +914,7 @@ static HRESULT WINAPI IXACT3EngineImpl_ShutDown(IXACT3Engine *iface)
TRACE("(%p)\n", This);
- return FACTAudioEngine_ShutDown(This->fact_engine); + return pFACTAudioEngine_ShutDown(This->fact_engine); }
static HRESULT WINAPI IXACT3EngineImpl_DoWork(IXACT3Engine *iface) @@ -922,7 +923,7 @@ static HRESULT WINAPI IXACT3EngineImpl_DoWork(IXACT3Engine *iface)
TRACE("(%p)\n", This);
- return FACTAudioEngine_DoWork(This->fact_engine); + return pFACTAudioEngine_DoWork(This->fact_engine); }
static HRESULT WINAPI IXACT3EngineImpl_CreateSoundBank(IXACT3Engine *iface, @@ -937,7 +938,7 @@ static HRESULT WINAPI IXACT3EngineImpl_CreateSoundBank(IXACT3Engine *iface, TRACE("(%p)->(%p, %u, 0x%x, 0x%x, %p): stub!\n", This, pvBuffer, dwSize, dwFlags, dwAllocAttributes, ppSoundBank);
- ret = FACTAudioEngine_CreateSoundBank(This->fact_engine, pvBuffer, dwSize, + ret = pFACTAudioEngine_CreateSoundBank(This->fact_engine, pvBuffer, dwSize, dwFlags, dwAllocAttributes, &fsb); if(ret != 0) { @@ -948,7 +949,7 @@ static HRESULT WINAPI IXACT3EngineImpl_CreateSoundBank(IXACT3Engine *iface, sb = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*sb)); if (!sb) { - FACTSoundBank_Destroy(fsb); + pFACTSoundBank_Destroy(fsb); ERR("Failed to allocate XACT3SoundBankImpl!\n"); return E_OUTOFMEMORY; } @@ -974,7 +975,7 @@ static HRESULT WINAPI IXACT3EngineImpl_CreateInMemoryWaveBank(IXACT3Engine *ifac TRACE("(%p)->(%p, %u, 0x%x, 0x%x, %p)\n", This, pvBuffer, dwSize, dwFlags, dwAllocAttributes, ppWaveBank);
- ret = FACTAudioEngine_CreateInMemoryWaveBank(This->fact_engine, pvBuffer, + ret = pFACTAudioEngine_CreateInMemoryWaveBank(This->fact_engine, pvBuffer, dwSize, dwFlags, dwAllocAttributes, &fwb); if(ret != 0) { @@ -985,7 +986,7 @@ static HRESULT WINAPI IXACT3EngineImpl_CreateInMemoryWaveBank(IXACT3Engine *ifac wb = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*wb)); if (!wb) { - FACTWaveBank_Destroy(fwb); + pFACTWaveBank_Destroy(fwb); ERR("Failed to allocate XACT3WaveBankImpl!\n"); return E_OUTOFMEMORY; } @@ -1022,7 +1023,7 @@ static HRESULT WINAPI IXACT3EngineImpl_CreateStreamingWaveBank(IXACT3Engine *ifa fakeParms.offset = pParms->offset; fakeParms.packetSize = pParms->packetSize;
- ret = FACTAudioEngine_CreateStreamingWaveBank(This->fact_engine, &fakeParms, + ret = pFACTAudioEngine_CreateStreamingWaveBank(This->fact_engine, &fakeParms, &fwb); if(ret != 0) { @@ -1033,7 +1034,7 @@ static HRESULT WINAPI IXACT3EngineImpl_CreateStreamingWaveBank(IXACT3Engine *ifa wb = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*wb)); if (!wb) { - FACTWaveBank_Destroy(fwb); + pFACTWaveBank_Destroy(fwb); ERR("Failed to allocate XACT3WaveBankImpl!\n"); return E_OUTOFMEMORY; } @@ -1083,7 +1084,7 @@ static HRESULT WINAPI IXACT3EngineImpl_PrepareWave(IXACT3Engine *iface, TRACE("(%p)->(0x%08x, %s, %d, %d, %d, %d, %p)\n", This, dwFlags, debugstr_a(szWavePath), wStreamingPacketSize, dwAlignment, dwPlayOffset, nLoopCount, ppWave);
- ret = FACTAudioEngine_PrepareWave(This->fact_engine, dwFlags, szWavePath, wStreamingPacketSize, + ret = pFACTAudioEngine_PrepareWave(This->fact_engine, dwFlags, szWavePath, wStreamingPacketSize, dwAlignment, dwPlayOffset, nLoopCount, &fwave); if(ret != 0 || !fwave) { @@ -1094,7 +1095,7 @@ static HRESULT WINAPI IXACT3EngineImpl_PrepareWave(IXACT3Engine *iface, wave = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*wave)); if (!wave) { - FACTWave_Destroy(fwave); + pFACTWave_Destroy(fwave); return E_OUTOFMEMORY; }
@@ -1245,7 +1246,7 @@ static HRESULT WINAPI IXACT3EngineImpl_RegisterNotification(IXACT3Engine *iface,
unwrap_notificationdesc(&fdesc, pNotificationDesc); fdesc.pvContext = This; - return FACTAudioEngine_RegisterNotification(This->fact_engine, &fdesc); + return pFACTAudioEngine_RegisterNotification(This->fact_engine, &fdesc); }
static HRESULT WINAPI IXACT3EngineImpl_UnRegisterNotification(IXACT3Engine *iface, @@ -1258,7 +1259,7 @@ static HRESULT WINAPI IXACT3EngineImpl_UnRegisterNotification(IXACT3Engine *ifac
unwrap_notificationdesc(&fdesc, pNotificationDesc); fdesc.pvContext = This; - return FACTAudioEngine_UnRegisterNotification(This->fact_engine, &fdesc); + return pFACTAudioEngine_UnRegisterNotification(This->fact_engine, &fdesc); }
static XACTCATEGORY WINAPI IXACT3EngineImpl_GetCategory(IXACT3Engine *iface, @@ -1268,7 +1269,7 @@ static XACTCATEGORY WINAPI IXACT3EngineImpl_GetCategory(IXACT3Engine *iface,
TRACE("(%p)->(%s)\n", This, szFriendlyName);
- return FACTAudioEngine_GetCategory(This->fact_engine, szFriendlyName); + return pFACTAudioEngine_GetCategory(This->fact_engine, szFriendlyName); }
static HRESULT WINAPI IXACT3EngineImpl_Stop(IXACT3Engine *iface, @@ -1278,7 +1279,7 @@ static HRESULT WINAPI IXACT3EngineImpl_Stop(IXACT3Engine *iface,
TRACE("(%p)->(%u, 0x%x)\n", This, nCategory, dwFlags);
- return FACTAudioEngine_Stop(This->fact_engine, nCategory, dwFlags); + return pFACTAudioEngine_Stop(This->fact_engine, nCategory, dwFlags); }
static HRESULT WINAPI IXACT3EngineImpl_SetVolume(IXACT3Engine *iface, @@ -1288,7 +1289,7 @@ static HRESULT WINAPI IXACT3EngineImpl_SetVolume(IXACT3Engine *iface,
TRACE("(%p)->(%u, %f)\n", This, nCategory, nVolume);
- return FACTAudioEngine_SetVolume(This->fact_engine, nCategory, nVolume); + return pFACTAudioEngine_SetVolume(This->fact_engine, nCategory, nVolume); }
static HRESULT WINAPI IXACT3EngineImpl_Pause(IXACT3Engine *iface, @@ -1298,7 +1299,7 @@ static HRESULT WINAPI IXACT3EngineImpl_Pause(IXACT3Engine *iface,
TRACE("(%p)->(%u, %u)\n", This, nCategory, fPause);
- return FACTAudioEngine_Pause(This->fact_engine, nCategory, fPause); + return pFACTAudioEngine_Pause(This->fact_engine, nCategory, fPause); }
static XACTVARIABLEINDEX WINAPI IXACT3EngineImpl_GetGlobalVariableIndex( @@ -1308,7 +1309,7 @@ static XACTVARIABLEINDEX WINAPI IXACT3EngineImpl_GetGlobalVariableIndex(
TRACE("(%p)->(%s)\n", This, szFriendlyName);
- return FACTAudioEngine_GetGlobalVariableIndex(This->fact_engine, + return pFACTAudioEngine_GetGlobalVariableIndex(This->fact_engine, szFriendlyName); }
@@ -1319,7 +1320,7 @@ static HRESULT WINAPI IXACT3EngineImpl_SetGlobalVariable(IXACT3Engine *iface,
TRACE("(%p)->(%u, %f)\n", This, nIndex, nValue);
- return FACTAudioEngine_SetGlobalVariable(This->fact_engine, nIndex, nValue); + return pFACTAudioEngine_SetGlobalVariable(This->fact_engine, nIndex, nValue); }
static HRESULT WINAPI IXACT3EngineImpl_GetGlobalVariable(IXACT3Engine *iface, @@ -1329,7 +1330,7 @@ static HRESULT WINAPI IXACT3EngineImpl_GetGlobalVariable(IXACT3Engine *iface,
TRACE("(%p)->(%u, %p)\n", This, nIndex, nValue);
- return FACTAudioEngine_GetGlobalVariable(This->fact_engine, nIndex, nValue); + return pFACTAudioEngine_GetGlobalVariable(This->fact_engine, nIndex, nValue); }
static const IXACT3EngineVtbl XACT3Engine_Vtbl = @@ -1422,7 +1423,7 @@ static HRESULT WINAPI XACT3CF_CreateInstance(IClassFactory *iface, IUnknown *pOu
object->IXACT3Engine_iface.lpVtbl = &XACT3Engine_Vtbl;
- FACTCreateEngineWithCustomAllocatorEXT( + pFACTCreateEngineWithCustomAllocatorEXT( 0, &object->fact_engine, XACT_Internal_Malloc, @@ -1464,11 +1465,15 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, void *pReserved) { case DLL_PROCESS_ATTACH: DisableThreadLibraryCalls( hinstDLL ); + if (!load_faudio()) return FALSE;
#ifdef HAVE_FAUDIOLINKEDVERSION - TRACE("Using FAudio version %d\n", FAudioLinkedVersion() ); + TRACE("Using FAudio version %d\n", pFAudioLinkedVersion() ); #endif
+ break; + case DLL_PROCESS_DETACH: + unload_faudio(); break; } return TRUE; diff --git a/dlls/xaudio2_7/xapo.c b/dlls/xaudio2_7/xapo.c index e47442959d3..7972f01a994 100644 --- a/dlls/xaudio2_7/xapo.c +++ b/dlls/xaudio2_7/xapo.c @@ -306,7 +306,7 @@ static inline HRESULT get_fapo_from_clsid(REFCLSID clsid, FAPO **fapo) { #ifndef XAPOFX1_VER if(IsEqualGUID(clsid, &CLSID_AudioVolumeMeter27)) - return FAudioCreateVolumeMeterWithCustomAllocatorEXT( + return pFAudioCreateVolumeMeterWithCustomAllocatorEXT( fapo, 0, XAudio_Internal_Malloc, @@ -315,7 +315,7 @@ static inline HRESULT get_fapo_from_clsid(REFCLSID clsid, FAPO **fapo) ); #if XAUDIO2_VER >= 9 && HAVE_FAUDIOCREATEREVERB9WITHCUSTOMALLOCATOREXT if(IsEqualGUID(clsid, &CLSID_AudioReverb27)) - return FAudioCreateReverb9WithCustomAllocatorEXT( + return pFAudioCreateReverb9WithCustomAllocatorEXT( fapo, 0, XAudio_Internal_Malloc, @@ -324,7 +324,7 @@ static inline HRESULT get_fapo_from_clsid(REFCLSID clsid, FAPO **fapo) ); #else if(IsEqualGUID(clsid, &CLSID_AudioReverb27)) - return FAudioCreateReverbWithCustomAllocatorEXT( + return pFAudioCreateReverbWithCustomAllocatorEXT( fapo, 0, XAudio_Internal_Malloc, @@ -338,7 +338,7 @@ static inline HRESULT get_fapo_from_clsid(REFCLSID clsid, FAPO **fapo) IsEqualGUID(clsid, &CLSID_FXEQ) || IsEqualGUID(clsid, &CLSID_FXEcho) || IsEqualGUID(clsid, &CLSID_FXMasteringLimiter)) - return FAPOFX_CreateFXWithCustomAllocatorEXT( + return pFAPOFX_CreateFXWithCustomAllocatorEXT( (const FAudioGUID*) clsid, fapo, NULL, diff --git a/dlls/xaudio2_7/xapofx.c b/dlls/xaudio2_7/xapofx.c index 4dcdaa2ca5f..4cbc2816bc8 100644 --- a/dlls/xaudio2_7/xapofx.c +++ b/dlls/xaudio2_7/xapofx.c @@ -36,6 +36,25 @@ WINE_DEFAULT_DEBUG_CHANNEL(xaudio2); #endif
+#ifdef XAPOFX1_VER +BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved) +{ + TRACE("inst %p, reason %d, reserved %p.\n", inst, reason, reserved ); + + switch (reason) + { + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(inst); + if (!load_faudio()) return FALSE; + break; + case DLL_PROCESS_DETACH: + unload_faudio(); + break; + } + return TRUE; +} +#endif /* XAPOFX1_VER */ + #if XAUDIO2_VER >= 8 HRESULT CDECL CreateFX(REFCLSID clsid, IUnknown **out, void *initdata, UINT32 initdata_bytes) { diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c index c9f5dd2f48e..eb3cae7ad62 100644 --- a/dlls/xaudio2_7/xaudio_dll.c +++ b/dlls/xaudio2_7/xaudio_dll.c @@ -87,10 +87,14 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, void *pReserved) { case DLL_PROCESS_ATTACH: DisableThreadLibraryCalls( hinstDLL ); + if (!load_faudio()) return FALSE; #ifdef HAVE_FAUDIOLINKEDVERSION - TRACE("Using FAudio version %d\n", FAudioLinkedVersion() ); + TRACE("Using FAudio version %d\n", pFAudioLinkedVersion() ); #endif break; + case DLL_PROCESS_DETACH: + unload_faudio(); + break; } return TRUE; } @@ -494,7 +498,7 @@ static const FAudioEngineCallback FAudioEngineCallback_Vtbl = {
static inline void destroy_voice(XA2VoiceImpl *This) { - FAudioVoice_DestroyVoice(This->faudio_voice); + pFAudioVoice_DestroyVoice(This->faudio_voice); free_effect_chain(This->effect_chain); This->effect_chain = NULL; This->in_use = FALSE; @@ -512,7 +516,7 @@ static void WINAPI XA2SRC_GetVoiceDetails(IXAudio2SourceVoice *iface, { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %p\n", This, pVoiceDetails); - FAudioVoice_GetVoiceDetails(This->faudio_voice, (FAudioVoiceDetails *)pVoiceDetails); + pFAudioVoice_GetVoiceDetails(This->faudio_voice, (FAudioVoiceDetails *)pVoiceDetails); }
static HRESULT WINAPI XA2SRC_SetOutputVoices(IXAudio2SourceVoice *iface, @@ -526,7 +530,7 @@ static HRESULT WINAPI XA2SRC_SetOutputVoices(IXAudio2SourceVoice *iface,
faudio_sends = wrap_voice_sends(pSendList);
- hr = FAudioVoice_SetOutputVoices(This->faudio_voice, faudio_sends); + hr = pFAudioVoice_SetOutputVoices(This->faudio_voice, faudio_sends);
free_voice_sends(faudio_sends);
@@ -544,7 +548,7 @@ static HRESULT WINAPI XA2SRC_SetEffectChain(IXAudio2SourceVoice *iface, free_effect_chain(This->effect_chain); This->effect_chain = wrap_effect_chain(pEffectChain);
- hr = FAudioVoice_SetEffectChain(This->faudio_voice, This->effect_chain); + hr = pFAudioVoice_SetEffectChain(This->faudio_voice, This->effect_chain);
return hr; } @@ -554,7 +558,7 @@ static HRESULT WINAPI XA2SRC_EnableEffect(IXAudio2SourceVoice *iface, UINT32 Eff { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %u, 0x%x\n", This, EffectIndex, OperationSet); - return FAudioVoice_EnableEffect(This->faudio_voice, EffectIndex, OperationSet); + return pFAudioVoice_EnableEffect(This->faudio_voice, EffectIndex, OperationSet); }
static HRESULT WINAPI XA2SRC_DisableEffect(IXAudio2SourceVoice *iface, UINT32 EffectIndex, @@ -562,7 +566,7 @@ static HRESULT WINAPI XA2SRC_DisableEffect(IXAudio2SourceVoice *iface, UINT32 Ef { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %u, 0x%x\n", This, EffectIndex, OperationSet); - return FAudioVoice_DisableEffect(This->faudio_voice, EffectIndex, OperationSet); + return pFAudioVoice_DisableEffect(This->faudio_voice, EffectIndex, OperationSet); }
static void WINAPI XA2SRC_GetEffectState(IXAudio2SourceVoice *iface, UINT32 EffectIndex, @@ -570,7 +574,7 @@ static void WINAPI XA2SRC_GetEffectState(IXAudio2SourceVoice *iface, UINT32 Effe { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %u, %p\n", This, EffectIndex, pEnabled); - FAudioVoice_GetEffectState(This->faudio_voice, EffectIndex, (int32_t*)pEnabled); + pFAudioVoice_GetEffectState(This->faudio_voice, EffectIndex, (int32_t*)pEnabled); }
static HRESULT WINAPI XA2SRC_SetEffectParameters(IXAudio2SourceVoice *iface, @@ -580,7 +584,7 @@ static HRESULT WINAPI XA2SRC_SetEffectParameters(IXAudio2SourceVoice *iface, XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %u, %p, 0x%x, 0x%x\n", This, EffectIndex, pParameters, ParametersByteSize, OperationSet); - return FAudioVoice_SetEffectParameters(This->faudio_voice, EffectIndex, + return pFAudioVoice_SetEffectParameters(This->faudio_voice, EffectIndex, pParameters, ParametersByteSize, OperationSet); }
@@ -590,7 +594,7 @@ static HRESULT WINAPI XA2SRC_GetEffectParameters(IXAudio2SourceVoice *iface, XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %u, %p, 0x%x\n", This, EffectIndex, pParameters, ParametersByteSize); - return FAudioVoice_GetEffectParameters(This->faudio_voice, EffectIndex, + return pFAudioVoice_GetEffectParameters(This->faudio_voice, EffectIndex, pParameters, ParametersByteSize); }
@@ -599,7 +603,7 @@ static HRESULT WINAPI XA2SRC_SetFilterParameters(IXAudio2SourceVoice *iface, { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %p, 0x%x\n", This, pParameters, OperationSet); - return FAudioVoice_SetFilterParameters(This->faudio_voice, + return pFAudioVoice_SetFilterParameters(This->faudio_voice, (const FAudioFilterParameters *)pParameters, OperationSet); }
@@ -608,7 +612,7 @@ static void WINAPI XA2SRC_GetFilterParameters(IXAudio2SourceVoice *iface, { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %p\n", This, pParameters); - FAudioVoice_GetFilterParameters(This->faudio_voice, (FAudioFilterParameters *)pParameters); + pFAudioVoice_GetFilterParameters(This->faudio_voice, (FAudioFilterParameters *)pParameters); }
static HRESULT WINAPI XA2SRC_SetOutputFilterParameters(IXAudio2SourceVoice *iface, @@ -620,7 +624,7 @@ static HRESULT WINAPI XA2SRC_SetOutputFilterParameters(IXAudio2SourceVoice *ifac
TRACE("%p, %p, %p, 0x%x\n", This, pDestinationVoice, pParameters, OperationSet);
- return FAudioVoice_SetOutputFilterParameters(This->faudio_voice, + return pFAudioVoice_SetOutputFilterParameters(This->faudio_voice, dst ? dst->faudio_voice : NULL, (const FAudioFilterParameters *)pParameters, OperationSet); }
@@ -633,7 +637,7 @@ static void WINAPI XA2SRC_GetOutputFilterParameters(IXAudio2SourceVoice *iface,
TRACE("%p, %p, %p\n", This, pDestinationVoice, pParameters);
- FAudioVoice_GetOutputFilterParameters(This->faudio_voice, + pFAudioVoice_GetOutputFilterParameters(This->faudio_voice, dst ? dst->faudio_voice : NULL, (FAudioFilterParameters *)pParameters); }
@@ -642,14 +646,14 @@ static HRESULT WINAPI XA2SRC_SetVolume(IXAudio2SourceVoice *iface, float Volume, { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %f, 0x%x\n", This, Volume, OperationSet); - return FAudioVoice_SetVolume(This->faudio_voice, Volume, OperationSet); + return pFAudioVoice_SetVolume(This->faudio_voice, Volume, OperationSet); }
static void WINAPI XA2SRC_GetVolume(IXAudio2SourceVoice *iface, float *pVolume) { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %p\n", This, pVolume); - return FAudioVoice_GetVolume(This->faudio_voice, pVolume); + return pFAudioVoice_GetVolume(This->faudio_voice, pVolume); }
static HRESULT WINAPI XA2SRC_SetChannelVolumes(IXAudio2SourceVoice *iface, UINT32 Channels, @@ -657,7 +661,7 @@ static HRESULT WINAPI XA2SRC_SetChannelVolumes(IXAudio2SourceVoice *iface, UINT3 { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %u, %p, 0x%x\n", This, Channels, pVolumes, OperationSet); - return FAudioVoice_SetChannelVolumes(This->faudio_voice, Channels, + return pFAudioVoice_SetChannelVolumes(This->faudio_voice, Channels, pVolumes, OperationSet); }
@@ -666,7 +670,7 @@ static void WINAPI XA2SRC_GetChannelVolumes(IXAudio2SourceVoice *iface, UINT32 C { XA2VoiceImpl *This = impl_from_IXAudio2SourceVoice(iface); TRACE("%p, %u, %p\n", This, Channels, pVolumes); - return FAudioVoice_GetChannelVolumes(This->faudio_voice, Channels, + return pFAudioVoice_GetChannelVolumes(This->faudio_voice, Channels, pVolumes); }
@@ -681,7 +685,7 @@ static HRESULT WINAPI XA2SRC_SetOutputMatrix(IXAudio2SourceVoice *iface, TRACE("%p, %p, %u, %u, %p, 0x%x\n", This, pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix, OperationSet);
- return FAudioVoice_SetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, + return pFAudioVoice_SetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, SourceChannels, DestinationChannels, pLevelMatrix, OperationSet); }
@@ -695,7 +699,7 @@ static void WINAPI XA2SRC_GetOutputMatrix(IXAudio2SourceVoice *iface, TRACE("%p, %p, %u, %u, %p\n", This, pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix);
- FAudioVoice_GetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, + pFAudioVoice_GetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, SourceChannels, DestinationChannels, pLevelMatrix); }
@@ -719,7 +723,7 @@ static HRESULT WINAPI XA2SRC_Start(IXAudio2SourceVoice *iface, UINT32 Flags,
TRACE("%p, 0x%x, 0x%x\n", This, Flags, OperationSet);
- return FAudioSourceVoice_Start(This->faudio_voice, Flags, OperationSet); + return pFAudioSourceVoice_Start(This->faudio_voice, Flags, OperationSet); }
static HRESULT WINAPI XA2SRC_Stop(IXAudio2SourceVoice *iface, UINT32 Flags, @@ -729,7 +733,7 @@ static HRESULT WINAPI XA2SRC_Stop(IXAudio2SourceVoice *iface, UINT32 Flags,
TRACE("%p, 0x%x, 0x%x\n", This, Flags, OperationSet);
- return FAudioSourceVoice_Stop(This->faudio_voice, Flags, OperationSet); + return pFAudioSourceVoice_Stop(This->faudio_voice, Flags, OperationSet); }
static HRESULT WINAPI XA2SRC_SubmitSourceBuffer(IXAudio2SourceVoice *iface, @@ -739,7 +743,7 @@ static HRESULT WINAPI XA2SRC_SubmitSourceBuffer(IXAudio2SourceVoice *iface,
TRACE("%p, %p, %p\n", This, pBuffer, pBufferWMA);
- return FAudioSourceVoice_SubmitSourceBuffer(This->faudio_voice, (FAudioBuffer*)pBuffer, (FAudioBufferWMA*)pBufferWMA); + return pFAudioSourceVoice_SubmitSourceBuffer(This->faudio_voice, (FAudioBuffer*)pBuffer, (FAudioBufferWMA*)pBufferWMA); }
static HRESULT WINAPI XA2SRC_FlushSourceBuffers(IXAudio2SourceVoice *iface) @@ -748,7 +752,7 @@ static HRESULT WINAPI XA2SRC_FlushSourceBuffers(IXAudio2SourceVoice *iface)
TRACE("%p\n", This);
- return FAudioSourceVoice_FlushSourceBuffers(This->faudio_voice); + return pFAudioSourceVoice_FlushSourceBuffers(This->faudio_voice); }
static HRESULT WINAPI XA2SRC_Discontinuity(IXAudio2SourceVoice *iface) @@ -757,7 +761,7 @@ static HRESULT WINAPI XA2SRC_Discontinuity(IXAudio2SourceVoice *iface)
TRACE("%p\n", This);
- return FAudioSourceVoice_Discontinuity(This->faudio_voice); + return pFAudioSourceVoice_Discontinuity(This->faudio_voice); }
static HRESULT WINAPI XA2SRC_ExitLoop(IXAudio2SourceVoice *iface, UINT32 OperationSet) @@ -766,7 +770,7 @@ static HRESULT WINAPI XA2SRC_ExitLoop(IXAudio2SourceVoice *iface, UINT32 Operati
TRACE("%p, 0x%x\n", This, OperationSet);
- return FAudioSourceVoice_ExitLoop(This->faudio_voice, OperationSet); + return pFAudioSourceVoice_ExitLoop(This->faudio_voice, OperationSet); }
static void WINAPI XA2SRC_GetState(IXAudio2SourceVoice *iface, @@ -776,7 +780,7 @@ static void WINAPI XA2SRC_GetState(IXAudio2SourceVoice *iface,
TRACE("%p, %p, 0x%x\n", This, pVoiceState, Flags);
- return FAudioSourceVoice_GetState(This->faudio_voice, (FAudioVoiceState*)pVoiceState, Flags); + return pFAudioSourceVoice_GetState(This->faudio_voice, (FAudioVoiceState*)pVoiceState, Flags); }
static HRESULT WINAPI XA2SRC_SetFrequencyRatio(IXAudio2SourceVoice *iface, @@ -786,7 +790,7 @@ static HRESULT WINAPI XA2SRC_SetFrequencyRatio(IXAudio2SourceVoice *iface,
TRACE("%p, %f, 0x%x\n", This, Ratio, OperationSet);
- return FAudioSourceVoice_SetFrequencyRatio(This->faudio_voice, Ratio, OperationSet); + return pFAudioSourceVoice_SetFrequencyRatio(This->faudio_voice, Ratio, OperationSet); }
static void WINAPI XA2SRC_GetFrequencyRatio(IXAudio2SourceVoice *iface, float *pRatio) @@ -795,7 +799,7 @@ static void WINAPI XA2SRC_GetFrequencyRatio(IXAudio2SourceVoice *iface, float *p
TRACE("%p, %p\n", This, pRatio);
- return FAudioSourceVoice_GetFrequencyRatio(This->faudio_voice, pRatio); + return pFAudioSourceVoice_GetFrequencyRatio(This->faudio_voice, pRatio); }
static HRESULT WINAPI XA2SRC_SetSourceSampleRate( @@ -806,7 +810,7 @@ static HRESULT WINAPI XA2SRC_SetSourceSampleRate(
TRACE("%p, %u\n", This, NewSourceSampleRate);
- return FAudioSourceVoice_SetSourceSampleRate(This->faudio_voice, NewSourceSampleRate); + return pFAudioSourceVoice_SetSourceSampleRate(This->faudio_voice, NewSourceSampleRate); }
static const IXAudio2SourceVoiceVtbl XAudio2SourceVoice_Vtbl = { @@ -853,7 +857,7 @@ static void WINAPI XA2SUB_GetVoiceDetails(IXAudio2SubmixVoice *iface, { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %p\n", This, pVoiceDetails); - FAudioVoice_GetVoiceDetails(This->faudio_voice, (FAudioVoiceDetails *)pVoiceDetails); + pFAudioVoice_GetVoiceDetails(This->faudio_voice, (FAudioVoiceDetails *)pVoiceDetails); }
static HRESULT WINAPI XA2SUB_SetOutputVoices(IXAudio2SubmixVoice *iface, @@ -867,7 +871,7 @@ static HRESULT WINAPI XA2SUB_SetOutputVoices(IXAudio2SubmixVoice *iface,
faudio_sends = wrap_voice_sends(pSendList);
- hr = FAudioVoice_SetOutputVoices(This->faudio_voice, faudio_sends); + hr = pFAudioVoice_SetOutputVoices(This->faudio_voice, faudio_sends);
free_voice_sends(faudio_sends);
@@ -885,7 +889,7 @@ static HRESULT WINAPI XA2SUB_SetEffectChain(IXAudio2SubmixVoice *iface, free_effect_chain(This->effect_chain); This->effect_chain = wrap_effect_chain(pEffectChain);
- hr = FAudioVoice_SetEffectChain(This->faudio_voice, This->effect_chain); + hr = pFAudioVoice_SetEffectChain(This->faudio_voice, This->effect_chain);
return hr; } @@ -895,7 +899,7 @@ static HRESULT WINAPI XA2SUB_EnableEffect(IXAudio2SubmixVoice *iface, UINT32 Eff { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %u, 0x%x\n", This, EffectIndex, OperationSet); - return FAudioVoice_EnableEffect(This->faudio_voice, EffectIndex, OperationSet); + return pFAudioVoice_EnableEffect(This->faudio_voice, EffectIndex, OperationSet); }
static HRESULT WINAPI XA2SUB_DisableEffect(IXAudio2SubmixVoice *iface, UINT32 EffectIndex, @@ -903,7 +907,7 @@ static HRESULT WINAPI XA2SUB_DisableEffect(IXAudio2SubmixVoice *iface, UINT32 Ef { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %u, 0x%x\n", This, EffectIndex, OperationSet); - return FAudioVoice_DisableEffect(This->faudio_voice, EffectIndex, OperationSet); + return pFAudioVoice_DisableEffect(This->faudio_voice, EffectIndex, OperationSet); }
static void WINAPI XA2SUB_GetEffectState(IXAudio2SubmixVoice *iface, UINT32 EffectIndex, @@ -911,7 +915,7 @@ static void WINAPI XA2SUB_GetEffectState(IXAudio2SubmixVoice *iface, UINT32 Effe { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %u, %p\n", This, EffectIndex, pEnabled); - FAudioVoice_GetEffectState(This->faudio_voice, EffectIndex, (int32_t*)pEnabled); + pFAudioVoice_GetEffectState(This->faudio_voice, EffectIndex, (int32_t*)pEnabled); }
static HRESULT WINAPI XA2SUB_SetEffectParameters(IXAudio2SubmixVoice *iface, @@ -921,7 +925,7 @@ static HRESULT WINAPI XA2SUB_SetEffectParameters(IXAudio2SubmixVoice *iface, XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %u, %p, 0x%x, 0x%x\n", This, EffectIndex, pParameters, ParametersByteSize, OperationSet); - return FAudioVoice_SetEffectParameters(This->faudio_voice, EffectIndex, + return pFAudioVoice_SetEffectParameters(This->faudio_voice, EffectIndex, pParameters, ParametersByteSize, OperationSet); }
@@ -931,7 +935,7 @@ static HRESULT WINAPI XA2SUB_GetEffectParameters(IXAudio2SubmixVoice *iface, XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %u, %p, 0x%x\n", This, EffectIndex, pParameters, ParametersByteSize); - return FAudioVoice_GetEffectParameters(This->faudio_voice, EffectIndex, + return pFAudioVoice_GetEffectParameters(This->faudio_voice, EffectIndex, pParameters, ParametersByteSize); }
@@ -940,7 +944,7 @@ static HRESULT WINAPI XA2SUB_SetFilterParameters(IXAudio2SubmixVoice *iface, { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %p, 0x%x\n", This, pParameters, OperationSet); - return FAudioVoice_SetFilterParameters(This->faudio_voice, (const FAudioFilterParameters *)pParameters, + return pFAudioVoice_SetFilterParameters(This->faudio_voice, (const FAudioFilterParameters *)pParameters, OperationSet); }
@@ -949,7 +953,7 @@ static void WINAPI XA2SUB_GetFilterParameters(IXAudio2SubmixVoice *iface, { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %p\n", This, pParameters); - FAudioVoice_GetFilterParameters(This->faudio_voice, (FAudioFilterParameters *)pParameters); + pFAudioVoice_GetFilterParameters(This->faudio_voice, (FAudioFilterParameters *)pParameters); }
static HRESULT WINAPI XA2SUB_SetOutputFilterParameters(IXAudio2SubmixVoice *iface, @@ -961,7 +965,7 @@ static HRESULT WINAPI XA2SUB_SetOutputFilterParameters(IXAudio2SubmixVoice *ifac
TRACE("%p, %p, %p, 0x%x\n", This, pDestinationVoice, pParameters, OperationSet);
- return FAudioVoice_SetOutputFilterParameters(This->faudio_voice, + return pFAudioVoice_SetOutputFilterParameters(This->faudio_voice, dst ? dst->faudio_voice : NULL, (const FAudioFilterParameters *)pParameters, OperationSet); }
@@ -974,7 +978,7 @@ static void WINAPI XA2SUB_GetOutputFilterParameters(IXAudio2SubmixVoice *iface,
TRACE("%p, %p, %p\n", This, pDestinationVoice, pParameters);
- FAudioVoice_GetOutputFilterParameters(This->faudio_voice, + pFAudioVoice_GetOutputFilterParameters(This->faudio_voice, dst ? dst->faudio_voice : NULL, (FAudioFilterParameters *)pParameters); }
@@ -983,14 +987,14 @@ static HRESULT WINAPI XA2SUB_SetVolume(IXAudio2SubmixVoice *iface, float Volume, { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %f, 0x%x\n", This, Volume, OperationSet); - return FAudioVoice_SetVolume(This->faudio_voice, Volume, OperationSet); + return pFAudioVoice_SetVolume(This->faudio_voice, Volume, OperationSet); }
static void WINAPI XA2SUB_GetVolume(IXAudio2SubmixVoice *iface, float *pVolume) { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %p\n", This, pVolume); - return FAudioVoice_GetVolume(This->faudio_voice, pVolume); + return pFAudioVoice_GetVolume(This->faudio_voice, pVolume); }
static HRESULT WINAPI XA2SUB_SetChannelVolumes(IXAudio2SubmixVoice *iface, UINT32 Channels, @@ -998,7 +1002,7 @@ static HRESULT WINAPI XA2SUB_SetChannelVolumes(IXAudio2SubmixVoice *iface, UINT3 { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %u, %p, 0x%x\n", This, Channels, pVolumes, OperationSet); - return FAudioVoice_SetChannelVolumes(This->faudio_voice, Channels, + return pFAudioVoice_SetChannelVolumes(This->faudio_voice, Channels, pVolumes, OperationSet); }
@@ -1007,7 +1011,7 @@ static void WINAPI XA2SUB_GetChannelVolumes(IXAudio2SubmixVoice *iface, UINT32 C { XA2VoiceImpl *This = impl_from_IXAudio2SubmixVoice(iface); TRACE("%p, %u, %p\n", This, Channels, pVolumes); - return FAudioVoice_GetChannelVolumes(This->faudio_voice, Channels, + return pFAudioVoice_GetChannelVolumes(This->faudio_voice, Channels, pVolumes); }
@@ -1022,7 +1026,7 @@ static HRESULT WINAPI XA2SUB_SetOutputMatrix(IXAudio2SubmixVoice *iface, TRACE("%p, %p, %u, %u, %p, 0x%x\n", This, pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix, OperationSet);
- return FAudioVoice_SetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, + return pFAudioVoice_SetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, SourceChannels, DestinationChannels, pLevelMatrix, OperationSet); }
@@ -1036,7 +1040,7 @@ static void WINAPI XA2SUB_GetOutputMatrix(IXAudio2SubmixVoice *iface, TRACE("%p, %p, %u, %u, %p\n", This, pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix);
- FAudioVoice_GetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, + pFAudioVoice_GetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, SourceChannels, DestinationChannels, pLevelMatrix); }
@@ -1087,7 +1091,7 @@ static void WINAPI XA2M_GetVoiceDetails(IXAudio2MasteringVoice *iface, { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %p\n", This, pVoiceDetails); - FAudioVoice_GetVoiceDetails(This->faudio_voice, (FAudioVoiceDetails *)pVoiceDetails); + pFAudioVoice_GetVoiceDetails(This->faudio_voice, (FAudioVoiceDetails *)pVoiceDetails); }
static HRESULT WINAPI XA2M_SetOutputVoices(IXAudio2MasteringVoice *iface, @@ -1101,7 +1105,7 @@ static HRESULT WINAPI XA2M_SetOutputVoices(IXAudio2MasteringVoice *iface,
faudio_sends = wrap_voice_sends(pSendList);
- hr = FAudioVoice_SetOutputVoices(This->faudio_voice, faudio_sends); + hr = pFAudioVoice_SetOutputVoices(This->faudio_voice, faudio_sends);
free_voice_sends(faudio_sends);
@@ -1119,7 +1123,7 @@ static HRESULT WINAPI XA2M_SetEffectChain(IXAudio2MasteringVoice *iface, free_effect_chain(This->effect_chain); This->effect_chain = wrap_effect_chain(pEffectChain);
- hr = FAudioVoice_SetEffectChain(This->faudio_voice, This->effect_chain); + hr = pFAudioVoice_SetEffectChain(This->faudio_voice, This->effect_chain);
return hr; } @@ -1129,7 +1133,7 @@ static HRESULT WINAPI XA2M_EnableEffect(IXAudio2MasteringVoice *iface, UINT32 Ef { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %u, 0x%x\n", This, EffectIndex, OperationSet); - return FAudioVoice_EnableEffect(This->faudio_voice, EffectIndex, OperationSet); + return pFAudioVoice_EnableEffect(This->faudio_voice, EffectIndex, OperationSet); }
static HRESULT WINAPI XA2M_DisableEffect(IXAudio2MasteringVoice *iface, UINT32 EffectIndex, @@ -1137,7 +1141,7 @@ static HRESULT WINAPI XA2M_DisableEffect(IXAudio2MasteringVoice *iface, UINT32 E { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %u, 0x%x\n", This, EffectIndex, OperationSet); - return FAudioVoice_DisableEffect(This->faudio_voice, EffectIndex, OperationSet); + return pFAudioVoice_DisableEffect(This->faudio_voice, EffectIndex, OperationSet); }
static void WINAPI XA2M_GetEffectState(IXAudio2MasteringVoice *iface, UINT32 EffectIndex, @@ -1145,7 +1149,7 @@ static void WINAPI XA2M_GetEffectState(IXAudio2MasteringVoice *iface, UINT32 Eff { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %u, %p\n", This, EffectIndex, pEnabled); - FAudioVoice_GetEffectState(This->faudio_voice, EffectIndex, (int32_t*)pEnabled); + pFAudioVoice_GetEffectState(This->faudio_voice, EffectIndex, (int32_t*)pEnabled); }
static HRESULT WINAPI XA2M_SetEffectParameters(IXAudio2MasteringVoice *iface, @@ -1155,7 +1159,7 @@ static HRESULT WINAPI XA2M_SetEffectParameters(IXAudio2MasteringVoice *iface, XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %u, %p, 0x%x, 0x%x\n", This, EffectIndex, pParameters, ParametersByteSize, OperationSet); - return FAudioVoice_SetEffectParameters(This->faudio_voice, EffectIndex, + return pFAudioVoice_SetEffectParameters(This->faudio_voice, EffectIndex, pParameters, ParametersByteSize, OperationSet); }
@@ -1165,7 +1169,7 @@ static HRESULT WINAPI XA2M_GetEffectParameters(IXAudio2MasteringVoice *iface, XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %u, %p, 0x%x\n", This, EffectIndex, pParameters, ParametersByteSize); - return FAudioVoice_GetEffectParameters(This->faudio_voice, EffectIndex, + return pFAudioVoice_GetEffectParameters(This->faudio_voice, EffectIndex, pParameters, ParametersByteSize); }
@@ -1174,7 +1178,7 @@ static HRESULT WINAPI XA2M_SetFilterParameters(IXAudio2MasteringVoice *iface, { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %p, 0x%x\n", This, pParameters, OperationSet); - return FAudioVoice_SetFilterParameters(This->faudio_voice, (const FAudioFilterParameters *)pParameters, + return pFAudioVoice_SetFilterParameters(This->faudio_voice, (const FAudioFilterParameters *)pParameters, OperationSet); }
@@ -1183,7 +1187,7 @@ static void WINAPI XA2M_GetFilterParameters(IXAudio2MasteringVoice *iface, { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %p\n", This, pParameters); - FAudioVoice_GetFilterParameters(This->faudio_voice, (FAudioFilterParameters *)pParameters); + pFAudioVoice_GetFilterParameters(This->faudio_voice, (FAudioFilterParameters *)pParameters); }
static HRESULT WINAPI XA2M_SetOutputFilterParameters(IXAudio2MasteringVoice *iface, @@ -1195,7 +1199,7 @@ static HRESULT WINAPI XA2M_SetOutputFilterParameters(IXAudio2MasteringVoice *ifa
TRACE("%p, %p, %p, 0x%x\n", This, pDestinationVoice, pParameters, OperationSet);
- return FAudioVoice_SetOutputFilterParameters(This->faudio_voice, + return pFAudioVoice_SetOutputFilterParameters(This->faudio_voice, dst ? dst->faudio_voice : NULL, (const FAudioFilterParameters *)pParameters, OperationSet); }
@@ -1208,7 +1212,7 @@ static void WINAPI XA2M_GetOutputFilterParameters(IXAudio2MasteringVoice *iface,
TRACE("%p, %p, %p\n", This, pDestinationVoice, pParameters);
- FAudioVoice_GetOutputFilterParameters(This->faudio_voice, + pFAudioVoice_GetOutputFilterParameters(This->faudio_voice, dst ? dst->faudio_voice : NULL, (FAudioFilterParameters *)pParameters); }
@@ -1217,14 +1221,14 @@ static HRESULT WINAPI XA2M_SetVolume(IXAudio2MasteringVoice *iface, float Volume { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %f, 0x%x\n", This, Volume, OperationSet); - return FAudioVoice_SetVolume(This->faudio_voice, Volume, OperationSet); + return pFAudioVoice_SetVolume(This->faudio_voice, Volume, OperationSet); }
static void WINAPI XA2M_GetVolume(IXAudio2MasteringVoice *iface, float *pVolume) { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %p\n", This, pVolume); - return FAudioVoice_GetVolume(This->faudio_voice, pVolume); + return pFAudioVoice_GetVolume(This->faudio_voice, pVolume); }
static HRESULT WINAPI XA2M_SetChannelVolumes(IXAudio2MasteringVoice *iface, UINT32 Channels, @@ -1232,7 +1236,7 @@ static HRESULT WINAPI XA2M_SetChannelVolumes(IXAudio2MasteringVoice *iface, UINT { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %u, %p, 0x%x\n", This, Channels, pVolumes, OperationSet); - return FAudioVoice_SetChannelVolumes(This->faudio_voice, Channels, + return pFAudioVoice_SetChannelVolumes(This->faudio_voice, Channels, pVolumes, OperationSet); }
@@ -1241,7 +1245,7 @@ static void WINAPI XA2M_GetChannelVolumes(IXAudio2MasteringVoice *iface, UINT32 { XA2VoiceImpl *This = impl_from_IXAudio2MasteringVoice(iface); TRACE("%p, %u, %p\n", This, Channels, pVolumes); - return FAudioVoice_GetChannelVolumes(This->faudio_voice, Channels, + return pFAudioVoice_GetChannelVolumes(This->faudio_voice, Channels, pVolumes); }
@@ -1256,7 +1260,7 @@ static HRESULT WINAPI XA2M_SetOutputMatrix(IXAudio2MasteringVoice *iface, TRACE("%p, %p, %u, %u, %p, 0x%x\n", This, pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix, OperationSet);
- return FAudioVoice_SetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, + return pFAudioVoice_SetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, SourceChannels, DestinationChannels, pLevelMatrix, OperationSet); }
@@ -1270,7 +1274,7 @@ static void WINAPI XA2M_GetOutputMatrix(IXAudio2MasteringVoice *iface, TRACE("%p, %p, %u, %u, %p\n", This, pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix);
- FAudioVoice_GetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, + pFAudioVoice_GetOutputMatrix(This->faudio_voice, dst ? dst->faudio_voice : NULL, SourceChannels, DestinationChannels, pLevelMatrix); }
@@ -1301,7 +1305,7 @@ static void WINAPI XA2M_GetChannelMask(IXAudio2MasteringVoice *iface,
TRACE("%p, %p\n", This, pChannelMask);
- FAudioMasteringVoice_GetChannelMask(This->faudio_voice, pChannelMask); + pFAudioMasteringVoice_GetChannelMask(This->faudio_voice, pChannelMask); }
static const struct IXAudio2MasteringVoiceVtbl XAudio2MasteringVoice_Vtbl = { @@ -1412,7 +1416,7 @@ static HRESULT WINAPI IXAudio2Impl_QueryInterface(IXAudio2 *iface, REFIID riid, static ULONG WINAPI IXAudio2Impl_AddRef(IXAudio2 *iface) { IXAudio2Impl *This = impl_from_IXAudio2(iface); - ULONG ref = FAudio_AddRef(This->faudio); + ULONG ref = pFAudio_AddRef(This->faudio); TRACE("(%p)->(): Refcount now %u\n", This, ref); return ref; } @@ -1420,7 +1424,7 @@ static ULONG WINAPI IXAudio2Impl_AddRef(IXAudio2 *iface) static ULONG WINAPI IXAudio2Impl_Release(IXAudio2 *iface) { IXAudio2Impl *This = impl_from_IXAudio2(iface); - ULONG ref = FAudio_Release(This->faudio); + ULONG ref = pFAudio_Release(This->faudio);
TRACE("(%p)->(): Refcount now %u\n", This, ref);
@@ -1570,7 +1574,7 @@ static HRESULT WINAPI IXAudio2Impl_CreateSourceVoice(IXAudio2 *iface, src->effect_chain = wrap_effect_chain(pEffectChain); faudio_sends = wrap_voice_sends(pSendList);
- hr = FAudio_CreateSourceVoice(This->faudio, &src->faudio_voice, + hr = pFAudio_CreateSourceVoice(This->faudio, &src->faudio_voice, (FAudioWaveFormatEx*)pSourceFormat, flags, maxFrequencyRatio, &src->FAudioVoiceCallback_vtbl, faudio_sends, src->effect_chain); @@ -1633,7 +1637,7 @@ static HRESULT WINAPI IXAudio2Impl_CreateSubmixVoice(IXAudio2 *iface, sub->effect_chain = wrap_effect_chain(pEffectChain); faudio_sends = wrap_voice_sends(pSendList);
- hr = FAudio_CreateSubmixVoice(This->faudio, &sub->faudio_voice, inputChannels, + hr = pFAudio_CreateSubmixVoice(This->faudio, &sub->faudio_voice, inputChannels, inputSampleRate, flags, processingStage, faudio_sends, sub->effect_chain); free_voice_sends(faudio_sends); @@ -1744,9 +1748,9 @@ static HRESULT WINAPI IXAudio2Impl_CreateMasteringVoice(IXAudio2 *iface,
pthread_mutex_unlock(&This->mst.engine_lock);
- FAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst); + pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
- FAudio_CreateMasteringVoice8(This->faudio, &This->mst.faudio_voice, inputChannels, + pFAudio_CreateMasteringVoice8(This->faudio, &This->mst.faudio_voice, inputChannels, inputSampleRate, flags, NULL /* TODO: (uint16_t*)deviceId */, This->mst.effect_chain, (FAudioStreamCategory)streamCategory);
@@ -1763,7 +1767,7 @@ static HRESULT WINAPI IXAudio2Impl_StartEngine(IXAudio2 *iface)
TRACE("(%p)->()\n", This);
- return FAudio_StartEngine(This->faudio); + return pFAudio_StartEngine(This->faudio); }
static void WINAPI IXAudio2Impl_StopEngine(IXAudio2 *iface) @@ -1772,7 +1776,7 @@ static void WINAPI IXAudio2Impl_StopEngine(IXAudio2 *iface)
TRACE("(%p)->()\n", This);
- FAudio_StopEngine(This->faudio); + pFAudio_StopEngine(This->faudio); }
static HRESULT WINAPI IXAudio2Impl_CommitChanges(IXAudio2 *iface, @@ -1783,9 +1787,9 @@ static HRESULT WINAPI IXAudio2Impl_CommitChanges(IXAudio2 *iface, TRACE("(%p)->(0x%x)\n", This, operationSet);
#ifdef HAVE_FAUDIO_COMMITOPERATIONSET - return FAudio_CommitOperationSet(This->faudio, operationSet); + return pFAudio_CommitOperationSet(This->faudio, operationSet); #else - return FAudio_CommitChanges(This->faudio); + return pFAudio_CommitChanges(This->faudio); #endif }
@@ -1796,7 +1800,7 @@ static void WINAPI IXAudio2Impl_GetPerformanceData(IXAudio2 *iface,
TRACE("(%p)->(%p)\n", This, pPerfData);
- FAudio_GetPerformanceData(This->faudio, (FAudioPerformanceData *)pPerfData); + pFAudio_GetPerformanceData(This->faudio, (FAudioPerformanceData *)pPerfData); }
static void WINAPI IXAudio2Impl_SetDebugConfiguration(IXAudio2 *iface, @@ -1807,7 +1811,7 @@ static void WINAPI IXAudio2Impl_SetDebugConfiguration(IXAudio2 *iface,
TRACE("(%p)->(%p, %p)\n", This, pDebugConfiguration, pReserved);
- FAudio_SetDebugConfiguration(This->faudio, (FAudioDebugConfiguration *)pDebugConfiguration, pReserved); + pFAudio_SetDebugConfiguration(This->faudio, (FAudioDebugConfiguration *)pDebugConfiguration, pReserved); }
/* XAudio2 2.8 */ @@ -1927,7 +1931,7 @@ static HRESULT WINAPI XAudio2CF_CreateInstance(IClassFactory *iface, IUnknown *p pthread_cond_init(&object->mst.engine_done, NULL); pthread_cond_init(&object->mst.engine_ready, NULL);
- FAudioCOMConstructWithCustomAllocatorEXT( + pFAudioCOMConstructWithCustomAllocatorEXT( &object->faudio, XAUDIO2_VER, XAudio_Internal_Malloc, @@ -1935,7 +1939,7 @@ static HRESULT WINAPI XAudio2CF_CreateInstance(IClassFactory *iface, IUnknown *p XAudio_Internal_Realloc );
- FAudio_RegisterForCallbacks(object->faudio, &object->FAudioEngineCallback_vtbl); + pFAudio_RegisterForCallbacks(object->faudio, &object->FAudioEngineCallback_vtbl);
hr = IXAudio2_QueryInterface(&object->IXAudio2_iface, riid, ppobj); IXAudio2_Release(&object->IXAudio2_iface); @@ -1982,7 +1986,7 @@ HRESULT xaudio2_initialize(IXAudio2Impl *This, UINT32 flags, XAUDIO2_PROCESSOR p { if(proc != XAUDIO2_ANY_PROCESSOR) WARN("Processor affinity not implemented in FAudio\n"); - return FAudio_Initialize(This->faudio, flags, FAUDIO_DEFAULT_PROCESSOR); + return pFAudio_Initialize(This->faudio, flags, FAUDIO_DEFAULT_PROCESSOR); }
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) diff --git a/dlls/xaudio2_7/xaudio_private.h b/dlls/xaudio2_7/xaudio_private.h index 46d842bf4c1..35d0410f60f 100644 --- a/dlls/xaudio2_7/xaudio_private.h +++ b/dlls/xaudio2_7/xaudio_private.h @@ -23,11 +23,160 @@ #include "xaudio2.h" #include "xapo.h"
-#include <FAudio.h> +#include <F3DAudio.h> +#include <FACT.h> +#include <FACT3D.h> #include <FAPO.h> +#include <FAPOBase.h> +#include <FAPOFX.h> +#include <FAudio.h> +#include <FAudioFX.h>
#include <pthread.h>
+#define MAKE_FUNCPTR(f) extern typeof(f) * p##f DECLSPEC_HIDDEN; +MAKE_FUNCPTR(FAudio_AddRef) +#ifdef HAVE_FAUDIO_COMMITOPERATIONSET +MAKE_FUNCPTR(FAudio_CommitOperationSet) +#else +MAKE_FUNCPTR(FAudio_CommitChanges) +#endif +MAKE_FUNCPTR(FAudio_CreateMasteringVoice) +MAKE_FUNCPTR(FAudio_CreateMasteringVoice8) +MAKE_FUNCPTR(FAudio_CreateSourceVoice) +MAKE_FUNCPTR(FAudio_CreateSubmixVoice) +MAKE_FUNCPTR(FAudio_GetDeviceCount) +MAKE_FUNCPTR(FAudio_GetDeviceDetails) +MAKE_FUNCPTR(FAudio_GetPerformanceData) +MAKE_FUNCPTR(FAudio_Initialize) +MAKE_FUNCPTR(FAudio_RegisterForCallbacks) +MAKE_FUNCPTR(FAudio_Release) +MAKE_FUNCPTR(FAudio_SetDebugConfiguration) +MAKE_FUNCPTR(FAudio_StartEngine) +MAKE_FUNCPTR(FAudio_StopEngine) + +MAKE_FUNCPTR(FAudioVoice_DestroyVoice) +MAKE_FUNCPTR(FAudioVoice_DisableEffect) +MAKE_FUNCPTR(FAudioVoice_EnableEffect) +MAKE_FUNCPTR(FAudioVoice_GetChannelVolumes) +MAKE_FUNCPTR(FAudioVoice_GetEffectParameters) +MAKE_FUNCPTR(FAudioVoice_GetEffectState) +MAKE_FUNCPTR(FAudioVoice_GetFilterParameters) +MAKE_FUNCPTR(FAudioVoice_GetOutputFilterParameters) +MAKE_FUNCPTR(FAudioVoice_GetOutputMatrix) +MAKE_FUNCPTR(FAudioVoice_GetVoiceDetails) +MAKE_FUNCPTR(FAudioVoice_GetVolume) +MAKE_FUNCPTR(FAudioVoice_SetChannelVolumes) +MAKE_FUNCPTR(FAudioVoice_SetEffectChain) +MAKE_FUNCPTR(FAudioVoice_SetEffectParameters) +MAKE_FUNCPTR(FAudioVoice_SetFilterParameters) +MAKE_FUNCPTR(FAudioVoice_SetOutputFilterParameters) +MAKE_FUNCPTR(FAudioVoice_SetOutputMatrix) +MAKE_FUNCPTR(FAudioVoice_SetOutputVoices) +MAKE_FUNCPTR(FAudioVoice_SetVolume) + +MAKE_FUNCPTR(FAudioSourceVoice_Discontinuity) +MAKE_FUNCPTR(FAudioSourceVoice_ExitLoop) +MAKE_FUNCPTR(FAudioSourceVoice_FlushSourceBuffers) +MAKE_FUNCPTR(FAudioSourceVoice_GetFrequencyRatio) +MAKE_FUNCPTR(FAudioSourceVoice_GetState) +MAKE_FUNCPTR(FAudioSourceVoice_SetFrequencyRatio) +MAKE_FUNCPTR(FAudioSourceVoice_SetSourceSampleRate) +MAKE_FUNCPTR(FAudioSourceVoice_Start) +MAKE_FUNCPTR(FAudioSourceVoice_Stop) +MAKE_FUNCPTR(FAudioSourceVoice_SubmitSourceBuffer) + +MAKE_FUNCPTR(FAudioMasteringVoice_GetChannelMask) + +MAKE_FUNCPTR(FAudioCOMConstructWithCustomAllocatorEXT) +MAKE_FUNCPTR(FAudioCreate) +MAKE_FUNCPTR(FAudioCreateReverb) +MAKE_FUNCPTR(FAudioCreateReverb9) +#ifdef HAVE_FAUDIOCREATEREVERB9WITHCUSTOMALLOCATOREXT +MAKE_FUNCPTR(FAudioCreateReverb9WithCustomAllocatorEXT) +#endif +MAKE_FUNCPTR(FAudioCreateReverbWithCustomAllocatorEXT) +MAKE_FUNCPTR(FAudioCreateVolumeMeter) +MAKE_FUNCPTR(FAudioCreateVolumeMeterWithCustomAllocatorEXT) +#ifdef HAVE_FAUDIOLINKEDVERSION +MAKE_FUNCPTR(FAudioLinkedVersion) +#endif + +MAKE_FUNCPTR(F3DAudioCalculate) +MAKE_FUNCPTR(F3DAudioInitialize) +#ifdef HAVE_F3DAUDIOINITIALIZE8 +MAKE_FUNCPTR(F3DAudioInitialize8) +#endif + +MAKE_FUNCPTR(FACTAudioEngine_AddRef) +MAKE_FUNCPTR(FACTAudioEngine_CreateInMemoryWaveBank) +MAKE_FUNCPTR(FACTAudioEngine_CreateSoundBank) +MAKE_FUNCPTR(FACTAudioEngine_CreateStreamingWaveBank) +MAKE_FUNCPTR(FACTAudioEngine_DoWork) +MAKE_FUNCPTR(FACTAudioEngine_GetCategory) +MAKE_FUNCPTR(FACTAudioEngine_GetFinalMixFormat) +MAKE_FUNCPTR(FACTAudioEngine_GetGlobalVariable) +MAKE_FUNCPTR(FACTAudioEngine_GetGlobalVariableIndex) +MAKE_FUNCPTR(FACTAudioEngine_GetRendererCount) +MAKE_FUNCPTR(FACTAudioEngine_GetRendererDetails) +MAKE_FUNCPTR(FACTAudioEngine_Initialize) +MAKE_FUNCPTR(FACTAudioEngine_Pause) +MAKE_FUNCPTR(FACTAudioEngine_PrepareWave) +MAKE_FUNCPTR(FACTAudioEngine_RegisterNotification) +MAKE_FUNCPTR(FACTAudioEngine_Release) +MAKE_FUNCPTR(FACTAudioEngine_SetGlobalVariable) +MAKE_FUNCPTR(FACTAudioEngine_SetVolume) +MAKE_FUNCPTR(FACTAudioEngine_ShutDown) +MAKE_FUNCPTR(FACTAudioEngine_Stop) +MAKE_FUNCPTR(FACTAudioEngine_UnRegisterNotification) + +MAKE_FUNCPTR(FACTCreateEngineWithCustomAllocatorEXT) + +MAKE_FUNCPTR(FACTCue_Destroy) +MAKE_FUNCPTR(FACTCue_GetProperties) +MAKE_FUNCPTR(FACTCue_GetState) +MAKE_FUNCPTR(FACTCue_GetVariable) +MAKE_FUNCPTR(FACTCue_GetVariableIndex) +MAKE_FUNCPTR(FACTCue_Pause) +MAKE_FUNCPTR(FACTCue_Play) +MAKE_FUNCPTR(FACTCue_SetMatrixCoefficients) +MAKE_FUNCPTR(FACTCue_SetVariable) +MAKE_FUNCPTR(FACTCue_Stop) + +MAKE_FUNCPTR(FACTSoundBank_Destroy) +MAKE_FUNCPTR(FACTSoundBank_GetCueIndex) +MAKE_FUNCPTR(FACTSoundBank_GetCueProperties) +MAKE_FUNCPTR(FACTSoundBank_GetNumCues) +MAKE_FUNCPTR(FACTSoundBank_GetState) +MAKE_FUNCPTR(FACTSoundBank_Play) +MAKE_FUNCPTR(FACTSoundBank_Prepare) +MAKE_FUNCPTR(FACTSoundBank_Stop) + +MAKE_FUNCPTR(FACTWave_Destroy) +MAKE_FUNCPTR(FACTWave_GetProperties) +MAKE_FUNCPTR(FACTWave_GetState) +MAKE_FUNCPTR(FACTWave_Pause) +MAKE_FUNCPTR(FACTWave_Play) +MAKE_FUNCPTR(FACTWave_SetMatrixCoefficients) +MAKE_FUNCPTR(FACTWave_SetPitch) +MAKE_FUNCPTR(FACTWave_SetVolume) +MAKE_FUNCPTR(FACTWave_Stop) + +MAKE_FUNCPTR(FACTWaveBank_Destroy) +MAKE_FUNCPTR(FACTWaveBank_GetNumWaves) +MAKE_FUNCPTR(FACTWaveBank_GetState) +MAKE_FUNCPTR(FACTWaveBank_GetWaveIndex) +MAKE_FUNCPTR(FACTWaveBank_GetWaveProperties) +MAKE_FUNCPTR(FACTWaveBank_Play) +MAKE_FUNCPTR(FACTWaveBank_Prepare) +MAKE_FUNCPTR(FACTWaveBank_Stop) + +MAKE_FUNCPTR(FAPOFX_CreateFXWithCustomAllocatorEXT) +#undef MAKE_FUNCPTR + +extern BOOL load_faudio(void) DECLSPEC_HIDDEN; +extern void unload_faudio(void) DECLSPEC_HIDDEN; + #if XAUDIO2_VER == 0 #define COMPAT_E_INVALID_CALL E_INVALIDARG #define COMPAT_E_DEVICE_INVALIDATED XAUDIO20_E_DEVICE_INVALIDATED diff --git a/dlls/xaudio2_8/Makefile.in b/dlls/xaudio2_8/Makefile.in index 566ddb6b3f1..69aa0d42b81 100644 --- a/dlls/xaudio2_8/Makefile.in +++ b/dlls/xaudio2_8/Makefile.in @@ -2,11 +2,12 @@ EXTRADEFS = -DXAUDIO2_VER=8 MODULE = xaudio2_8.dll IMPORTS = advapi32 ole32 user32 uuid PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ x3daudio.c \ xapo.c \ xapofx.c \ diff --git a/dlls/xaudio2_9/Makefile.in b/dlls/xaudio2_9/Makefile.in index 86f7b99e5eb..b3256636f4d 100644 --- a/dlls/xaudio2_9/Makefile.in +++ b/dlls/xaudio2_9/Makefile.in @@ -2,11 +2,12 @@ EXTRADEFS = -DXAUDIO2_VER=9 MODULE = xaudio2_9.dll IMPORTS = advapi32 ole32 user32 uuid PARENTSRC = ../xaudio2_7 -EXTRALIBS = $(FAUDIO_LIBS) +EXTRALIBS = $(DL_LIBS) EXTRAINCL = $(FAUDIO_CFLAGS)
C_SRCS = \ compat.c \ + faudio.c \ x3daudio.c \ xapo.c \ xapofx.c \