Move buffers pointer out of the control block
This is part of a series to clean up the control block.
Change-Id: Ie474557db7cb360f2d9a0f11600a68f5a3d46f07
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp
index 7ce9879..468bd29 100644
--- a/media/libmedia/AudioTrack.cpp
+++ b/media/libmedia/AudioTrack.cpp
@@ -895,9 +895,9 @@
}
}
if (sharedBuffer == 0) {
- cblk->buffers = (char*)cblk + sizeof(audio_track_cblk_t);
+ mBuffers = (char*)cblk + sizeof(audio_track_cblk_t);
} else {
- cblk->buffers = sharedBuffer->pointer();
+ mBuffers = sharedBuffer->pointer();
// Force buffer full condition as data is already present in shared memory
cblk->stepUserOut(cblk->frameCount);
}
@@ -1027,7 +1027,7 @@
audioBuffer->frameCount = framesReq;
audioBuffer->size = framesReq * cblk->frameSize;
- audioBuffer->raw = (int8_t *)cblk->buffer(u);
+ audioBuffer->raw = cblk->buffer(mBuffers, u);
active = mActive;
return active ? status_t(NO_ERROR) : status_t(STOPPED);
}
@@ -1373,7 +1373,7 @@
if (user > server) {
frames = ((user - server) > newCblk->frameCount) ?
newCblk->frameCount : (user - server);
- memset(newCblk->buffers, 0, frames * newCblk->frameSize);
+ memset(mBuffers, 0, frames * newCblk->frameSize);
}
// restart playback even if buffer is not completely filled.
android_atomic_or(CBLK_FORCEREADY, &newCblk->flags);
@@ -1486,7 +1486,7 @@
audio_track_cblk_t::audio_track_cblk_t()
: lock(Mutex::SHARED), cv(Condition::SHARED), user(0), server(0),
- userBase(0), serverBase(0), buffers(NULL), frameCount(0),
+ userBase(0), serverBase(0), frameCount(0),
loopStart(UINT_MAX), loopEnd(UINT_MAX), loopCount(0), mVolumeLR(0x10001000),
mSendLevel(0), flags(0)
{
@@ -1588,7 +1588,7 @@
return true;
}
-void* audio_track_cblk_t::buffer(uint32_t offset) const
+void* audio_track_cblk_t::buffer(void *buffers, uint32_t offset) const
{
return (int8_t *)buffers + (offset - userBase) * frameSize;
}