summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2012-11-08 17:13:02 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-11-08 17:13:02 -0800
commite35a582d02586cb43ad9e344138b4edad62868b3 (patch)
tree066953c839b4c25e43c8aab9137f2da7ba4aa531 /services
parentad9af03c4b491912239fc8c97a3ad0d342a33303 (diff)
parentb929e417853694e37aba1ef4399f188987b709d9 (diff)
downloadframeworks_av-e35a582d02586cb43ad9e344138b4edad62868b3.zip
frameworks_av-e35a582d02586cb43ad9e344138b4edad62868b3.tar.gz
frameworks_av-e35a582d02586cb43ad9e344138b4edad62868b3.tar.bz2
Merge "Move buffers pointer out of the control block"
Diffstat (limited to 'services')
-rw-r--r--services/audioflinger/AudioFlinger.cpp6
-rw-r--r--services/audioflinger/AudioFlinger.h1
2 files changed, 4 insertions, 3 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index 69ac3e3..c0f5c7b 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -5534,11 +5534,11 @@ AudioFlinger::PlaybackThread::OutputTrack::OutputTrack(
int frameCount)
: Track(playbackThread, NULL, AUDIO_STREAM_CNT, sampleRate, format, channelMask, frameCount,
NULL, 0, IAudioFlinger::TRACK_DEFAULT),
- mActive(false), mSourceThread(sourceThread)
+ mActive(false), mSourceThread(sourceThread), mBuffers(NULL)
{
if (mCblk != NULL) {
- mCblk->buffers = (char*)mCblk + sizeof(audio_track_cblk_t);
+ mBuffers = (char*)mCblk + sizeof(audio_track_cblk_t);
mOutBuffer.frameCount = 0;
playbackThread->mTracks.add(this);
ALOGV("OutputTrack constructor mCblk %p, mBuffer %p, mCblk->buffers %p, " \
@@ -5749,7 +5749,7 @@ status_t AudioFlinger::PlaybackThread::OutputTrack::obtainBuffer(
}
buffer->frameCount = framesReq;
- buffer->raw = (void *)cblk->buffer(u);
+ buffer->raw = cblk->buffer(mBuffers, u);
return NO_ERROR;
}
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 1417105..fc24bed 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -1035,6 +1035,7 @@ private:
AudioBufferProvider::Buffer mOutBuffer;
bool mActive;
DuplicatingThread* const mSourceThread; // for waitTimeMs() in write()
+ void* mBuffers; // starting address of buffers in plain memory
}; // end of OutputTrack
PlaybackThread(const sp<AudioFlinger>& audioFlinger, AudioStreamOut* output,