aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/Include/alSource.h
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2017-04-18 00:58:33 -0700
committerChris Robinson <[email protected]>2017-04-18 00:58:33 -0700
commitde62ab97e912525f20272153f6a4c896e833839d (patch)
tree84dcb690075f7287d02915fe68b3a21ca497d21b /OpenAL32/Include/alSource.h
parent45d52f7124312c91ec0259fbb0c72346ee36e03b (diff)
Store the source queue head in the voice to signify looping
This removes the need to access a couple more source fields in the mixer, and also makes the looping and queue fields non-atomic.
Diffstat (limited to 'OpenAL32/Include/alSource.h')
-rw-r--r--OpenAL32/Include/alSource.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h
index 265a8f47..795ddf24 100644
--- a/OpenAL32/Include/alSource.h
+++ b/OpenAL32/Include/alSource.h
@@ -40,6 +40,7 @@ typedef struct ALsource {
ALfloat Direction[3];
ALfloat Orientation[2][3];
ALboolean HeadRelative;
+ ALboolean Looping;
enum DistanceModel DistanceModel;
ALboolean DirectChannels;
@@ -91,9 +92,7 @@ typedef struct ALsource {
/** Source Buffer Queue head. */
RWLock queue_lock;
- ATOMIC(ALbufferlistitem*) queue;
-
- ATOMIC(ALboolean) looping;
+ ALbufferlistitem *queue;
ATOMIC_FLAG PropsClean;