aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/Include
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2016-03-09 22:57:38 -0800
committerChris Robinson <[email protected]>2016-03-09 22:57:38 -0800
commit3e2672ec9f5c2a84a0f871bd0379ee387f9a95ce (patch)
tree13df9f8f0823f55d4ee2759fd3314dc9b174634f /OpenAL32/Include
parent3b9fe27cbe466ecb2a1aad8013f2dc256d708aaa (diff)
Track the virtual and real output buffers ecplicitly
Diffstat (limited to 'OpenAL32/Include')
-rw-r--r--OpenAL32/Include/alMain.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index 8c75cb83..f79002fe 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -494,9 +494,20 @@ struct ALCdevice_struct
alignas(16) ALfloat ResampledData[BUFFERSIZE];
alignas(16) ALfloat FilteredData[BUFFERSIZE];
- /* Dry path buffer mix. */
+ /* Dry path buffer mix (will be aliased by the virtual or real output). */
alignas(16) ALfloat (*DryBuffer)[BUFFERSIZE];
+ /* Virtual output, to be post-processed to the real output. */
+ struct {
+ ALfloat (*Buffer)[BUFFERSIZE];
+ ALuint NumChannels;
+ } VirtOut;
+ /* "Real" output, which will be written to the device buffer. */
+ struct {
+ ALfloat (*Buffer)[BUFFERSIZE];
+ ALuint NumChannels;
+ } RealOut;
+
/* Running count of the mixer invocations, in 31.1 fixed point. This
* actually increments *twice* when mixing, first at the start and then at
* the end, so the bottom bit indicates if the device is currently mixing