diff options
author | Glenn Kasten <gkasten@google.com> | 2012-01-11 09:48:27 -0800 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2012-01-13 14:58:44 -0800 |
commit | faf354dc7f8065a90174adb6e725603176f0044f (patch) | |
tree | 8b5b80b7b9c082bd226c0e25cc75d862b2db4054 /services/audioflinger | |
parent | fcbbaf1d837e96e77d0ec45a050e8a41060ae7f3 (diff) | |
download | frameworks_base-faf354dc7f8065a90174adb6e725603176f0044f.zip frameworks_base-faf354dc7f8065a90174adb6e725603176f0044f.tar.gz frameworks_base-faf354dc7f8065a90174adb6e725603176f0044f.tar.bz2 |
Use size_t for frame size
except in the control block, where we don't have room.
In AudioFlinger::ThreadBase::TrackBase::getBuffer,
read the frame size from control block only once.
Change-Id: Id6c4bccd4ed3e07d91df6bbea43bae45524f9f4e
Diffstat (limited to 'services/audioflinger')
-rw-r--r-- | services/audioflinger/AudioFlinger.cpp | 13 | ||||
-rw-r--r-- | services/audioflinger/AudioFlinger.h | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index 9fb666e..3f3163e 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -1118,7 +1118,7 @@ status_t AudioFlinger::ThreadBase::dumpBase(int fd, const Vector<String16>& args result.append(buffer); snprintf(buffer, SIZE, "Format: %d\n", mFormat); result.append(buffer); - snprintf(buffer, SIZE, "Frame size: %d\n", mFrameSize); + snprintf(buffer, SIZE, "Frame size: %u\n", mFrameSize); result.append(buffer); snprintf(buffer, SIZE, "\nPending setParameters commands: \n"); @@ -1727,7 +1727,7 @@ void AudioFlinger::PlaybackThread::readOutputParameters() mChannelMask = mOutput->stream->common.get_channels(&mOutput->stream->common); mChannelCount = (uint16_t)popcount(mChannelMask); mFormat = mOutput->stream->common.get_format(&mOutput->stream->common); - mFrameSize = (uint16_t)audio_stream_frame_size(&mOutput->stream->common); + mFrameSize = audio_stream_frame_size(&mOutput->stream->common); mFrameCount = mOutput->stream->common.get_buffer_size(&mOutput->stream->common) / mFrameSize; // FIXME - Current mixer implementation only supports stereo output: Always @@ -3324,12 +3324,13 @@ uint32_t AudioFlinger::ThreadBase::TrackBase::channelMask() const { void* AudioFlinger::ThreadBase::TrackBase::getBuffer(uint32_t offset, uint32_t frames) const { audio_track_cblk_t* cblk = this->cblk(); - int8_t *bufferStart = (int8_t *)mBuffer + (offset-cblk->serverBase)*cblk->frameSize; - int8_t *bufferEnd = bufferStart + frames * cblk->frameSize; + size_t frameSize = cblk->frameSize; + int8_t *bufferStart = (int8_t *)mBuffer + (offset-cblk->serverBase)*frameSize; + int8_t *bufferEnd = bufferStart + frames * frameSize; // Check validity of returned pointer in case the track control block would have been corrupted. if (bufferStart < mBuffer || bufferStart > bufferEnd || bufferEnd > mBufferEnd || - ((unsigned long)bufferStart & (unsigned long)(cblk->frameSize - 1))) { + ((unsigned long)bufferStart & (unsigned long)(frameSize - 1))) { ALOGE("TrackBase::getBuffer buffer out of range:\n start: %p, end %p , mBuffer %p mBufferEnd %p\n \ server %d, serverBase %d, user %d, userBase %d", bufferStart, bufferEnd, mBuffer, mBufferEnd, @@ -4800,7 +4801,7 @@ void AudioFlinger::RecordThread::readInputParameters() mChannelMask = mInput->stream->common.get_channels(&mInput->stream->common); mChannelCount = (uint16_t)popcount(mChannelMask); mFormat = mInput->stream->common.get_format(&mInput->stream->common); - mFrameSize = (uint16_t)audio_stream_frame_size(&mInput->stream->common); + mFrameSize = audio_stream_frame_size(&mInput->stream->common); mInputBytes = mInput->stream->common.get_buffer_size(&mInput->stream->common); mFrameCount = mInputBytes / mFrameSize; mRsmpInBuffer = new int16_t[mFrameCount * mChannelCount]; diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h index f99e764..cd5f56d 100644 --- a/services/audioflinger/AudioFlinger.h +++ b/services/audioflinger/AudioFlinger.h @@ -536,7 +536,7 @@ private: size_t mFrameCount; uint32_t mChannelMask; uint16_t mChannelCount; - uint16_t mFrameSize; + size_t mFrameSize; uint32_t mFormat; Condition mParamCond; Vector<String8> mNewParameters; |