wine-staging/patches/dsound-EAX/0010-dsound-Feed-data-through-EAX-function.patch
2015-03-27 21:24:40 +00:00

71 lines
2.6 KiB
Diff

From 94026d1694362d5f94f74e8f0c362a1c1efe4bec Mon Sep 17 00:00:00 2001
From: Mark Harmstone <mark@harmstone.com>
Date: Fri, 27 Mar 2015 20:59:57 +0000
Subject: [PATCH 10/18] dsound: Feed data through EAX function.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------2.0.5"
This is a multi-part message in MIME format.
--------------2.0.5
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
---
dlls/dsound/dsound_private.h | 1 +
dlls/dsound/eax.c | 5 +++++
dlls/dsound/mixer.c | 3 +++
3 files changed, 9 insertions(+)
--------------2.0.5
Content-Type: text/x-patch; name="0010-dsound-Feed-data-through-EAX-function.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0010-dsound-Feed-data-through-EAX-function.patch"
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index e041526..aabb36f 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -244,6 +244,7 @@ HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
ULONG cbPropData) DECLSPEC_HIDDEN;
void free_eax_buffer(IDirectSoundBufferImpl* dsb) DECLSPEC_HIDDEN;
void init_eax_buffer(IDirectSoundBufferImpl* dsb) DECLSPEC_HIDDEN;
+void process_eax_buffer(IDirectSoundBufferImpl* dsb, float* buf, DWORD count) DECLSPEC_HIDDEN;
/* mixer.c */
void DSOUND_CheckEvent(const IDirectSoundBufferImpl *dsb, DWORD playpos, int len) DECLSPEC_HIDDEN;
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
index f0c17ff..df05f8e 100644
--- a/dlls/dsound/eax.c
+++ b/dlls/dsound/eax.c
@@ -91,6 +91,11 @@ static const EFXEAXREVERBPROPERTIES efx_presets[] = {
{ 0.0625f, 0.5000f, 0.3162f, 0.8404f, 1.0000f, 7.5600f, 0.9100f, 1.0000f, 0.4864f, 0.0200f, { 0.0000f, 0.0000f, 0.0000f }, 2.4378f, 0.0300f, { 0.0000f, 0.0000f, 0.0000f }, 0.2500f, 0.0000f, 4.0000f, 1.0000f, 0.9943f, 5000.0000f, 250.0000f, 0.0000f, 0x0 } /* psychotic */
};
+void process_eax_buffer(IDirectSoundBufferImpl* dsb, float* buf, DWORD count)
+{
+ /* stub */
+}
+
static void ReverbUpdate(IDirectSoundBufferImpl* dsb)
{
/* stub */
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
index da5a174..a737707 100644
--- a/dlls/dsound/mixer.c
+++ b/dlls/dsound/mixer.c
@@ -299,6 +299,9 @@ static void apply_filters(IDirectSoundBufferImpl *dsb, float* buf, UINT count)
} else
WARN("filter %u has no inplace object - unsupported\n", i);
}
+
+ if (dsb->device->eax.using_eax)
+ process_eax_buffer(dsb, buf, count);
}
}
--------------2.0.5--