diff options
author | Chris Robinson <[email protected]> | 2017-04-18 00:58:33 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2017-04-18 00:58:33 -0700 |
commit | de62ab97e912525f20272153f6a4c896e833839d (patch) | |
tree | 84dcb690075f7287d02915fe68b3a21ca497d21b /OpenAL32/Include/alSource.h | |
parent | 45d52f7124312c91ec0259fbb0c72346ee36e03b (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.h | 5 |
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; |