diff options
author | Glenn Kasten <gkasten@google.com> | 2012-11-08 12:13:58 -0800 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2012-11-08 12:18:59 -0800 |
commit | b929e417853694e37aba1ef4399f188987b709d9 (patch) | |
tree | 670f2da01fd3d33df6da2998c78273e0701300ad /media | |
parent | a47f3165f53c8e8fb8907a94de7417e2c3047eeb (diff) | |
download | frameworks_av-b929e417853694e37aba1ef4399f188987b709d9.zip frameworks_av-b929e417853694e37aba1ef4399f188987b709d9.tar.gz frameworks_av-b929e417853694e37aba1ef4399f188987b709d9.tar.bz2 |
Move buffers pointer out of the control block
This is part of a series to clean up the control block.
Change-Id: Ie474557db7cb360f2d9a0f11600a68f5a3d46f07
Diffstat (limited to 'media')
-rw-r--r-- | media/libmedia/AudioRecord.cpp | 4 | ||||
-rw-r--r-- | media/libmedia/AudioTrack.cpp | 12 |
2 files changed, 8 insertions, 8 deletions
diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp index ae1842e..263a7c7 100644 --- a/media/libmedia/AudioRecord.cpp +++ b/media/libmedia/AudioRecord.cpp @@ -465,7 +465,7 @@ status_t AudioRecord::openRecord_l( mCblkMemory.clear(); mCblkMemory = cblk; mCblk = static_cast<audio_track_cblk_t*>(cblk->pointer()); - mCblk->buffers = (char*)mCblk + sizeof(audio_track_cblk_t); + mBuffers = (char*)mCblk + sizeof(audio_track_cblk_t); mCblk->bufferTimeoutMs = MAX_RUN_TIMEOUT_MS; mCblk->waitTimeMs = 0; return NO_ERROR; @@ -561,7 +561,7 @@ create_new_record: 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); } 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 @@ status_t AudioTrack::createTrack_l( } } 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 @@ create_new_track: 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 @@ status_t AudioTrack::restoreTrack_l(audio_track_cblk_t*& refCblk, bool fromStart 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 @@ void AudioTrack::AudioTrackThread::resume() 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 @@ bool audio_track_cblk_t::stepServer(uint32_t frameCount, bool isOut) 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; } |