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
commit3f6f4393d0adf4465959059d69798aed55e34876 (patch)
treed79a1043adfa3cc4f09b0b95255f2e9bc97a5099 /services
parentc6ccbabd2800e749bc86a34d2ae233f99102ba51 (diff)
parent2f6226ad7a3fa81dc102001fbc1d1288e55a0947 (diff)
downloadframeworks_av-3f6f4393d0adf4465959059d69798aed55e34876.zip
frameworks_av-3f6f4393d0adf4465959059d69798aed55e34876.tar.gz
frameworks_av-3f6f4393d0adf4465959059d69798aed55e34876.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,