aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/opensl.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2018-03-02 12:46:31 -0800
committerChris Robinson <[email protected]>2018-03-02 13:01:11 -0800
commit03274a5b95146675c05b5b6a0340f45a7b122c50 (patch)
tree02c6bec8667f888742c79a5538995e82797e2fd2 /Alc/backends/opensl.c
parent6f62fed65c4dcdf999a612e258cca59a22355f3c (diff)
Ensure at least the specified ringbuffer size is writable
Previously, all but one of the specified size could be written (so for a size of n, only n-1 was guaranteed writable). All users pretty much compensated for this, but it makes more sense to fix it at the source.
Diffstat (limited to 'Alc/backends/opensl.c')
-rw-r--r--Alc/backends/opensl.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/Alc/backends/opensl.c b/Alc/backends/opensl.c
index d930526d..a5ad3b09 100644
--- a/Alc/backends/opensl.c
+++ b/Alc/backends/opensl.c
@@ -566,12 +566,8 @@ static ALCboolean ALCopenslPlayback_start(ALCopenslPlayback *self)
SLresult result;
ll_ringbuffer_free(self->mRing);
- /* NOTE: Add an extra update since one period's worth of audio in the ring
- * buffer will always be left unfilled because one element of the ring
- * buffer will not be writeable, and we only write in period-sized chunks.
- */
- self->mRing = ll_ringbuffer_create(device->NumUpdates + 1,
- self->mFrameSize*device->UpdateSize, true);
+ self->mRing = ll_ringbuffer_create(device->NumUpdates, self->mFrameSize*device->UpdateSize,
+ true);
result = VCALL(self->mBufferQueueObj,GetInterface)(SL_IID_ANDROIDSIMPLEBUFFERQUEUE,
&bufferQueue);
@@ -847,8 +843,8 @@ static ALCenum ALCopenslCapture_open(ALCopenslCapture *self, const ALCchar *name
if(SL_RESULT_SUCCESS == result)
{
- self->mRing = ll_ringbuffer_create(device->NumUpdates + 1,
- device->UpdateSize * self->mFrameSize, false);
+ self->mRing = ll_ringbuffer_create(device->NumUpdates, device->UpdateSize*self->mFrameSize,
+ false);
result = VCALL(self->mRecordObj,GetInterface)(SL_IID_ANDROIDSIMPLEBUFFERQUEUE,
&bufferQueue);