diff options
author | Eric Laurent <elaurent@google.com> | 2013-11-22 09:29:56 -0800 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2013-11-22 10:15:42 -0800 |
commit | 04733dbdede313fc5e291070014c1a0641fe6166 (patch) | |
tree | f215383a4f483175e8d2d34939b337ae4558c1f4 /services/audioflinger/Threads.cpp | |
parent | fc2e519dee2ae0a6a309183f936d43beecce6007 (diff) | |
download | frameworks_av-04733dbdede313fc5e291070014c1a0641fe6166.zip frameworks_av-04733dbdede313fc5e291070014c1a0641fe6166.tar.gz frameworks_av-04733dbdede313fc5e291070014c1a0641fe6166.tar.bz2 |
audioflinger: fix offload write buffer offset
Fix current audio HAL write buffer offset calculation
which assumes that the frame size is a multiple of 2.
Change-Id: I0195ed5cfef225a6f114e7dd405a02680bb7254e
Diffstat (limited to 'services/audioflinger/Threads.cpp')
-rw-r--r-- | services/audioflinger/Threads.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp index 4e23129..f3c7561 100644 --- a/services/audioflinger/Threads.cpp +++ b/services/audioflinger/Threads.cpp @@ -1921,7 +1921,7 @@ ssize_t AudioFlinger::PlaybackThread::threadLoop_write() // otherwise use the HAL / AudioStreamOut directly } else { // Direct output and offload threads - size_t offset = (mCurrentWriteLength - mBytesRemaining) / sizeof(int16_t); + size_t offset = (mCurrentWriteLength - mBytesRemaining); if (mUseAsyncWrite) { ALOGW_IF(mWriteAckSequence & 1, "threadLoop_write(): out of sequence write request"); mWriteAckSequence += 2; @@ -1932,7 +1932,7 @@ ssize_t AudioFlinger::PlaybackThread::threadLoop_write() // FIXME We should have an implementation of timestamps for direct output threads. // They are used e.g for multichannel PCM playback over HDMI. bytesWritten = mOutput->stream->write(mOutput->stream, - mMixBuffer + offset, mBytesRemaining); + (char *)mMixBuffer + offset, mBytesRemaining); if (mUseAsyncWrite && ((bytesWritten < 0) || (bytesWritten == (ssize_t)mBytesRemaining))) { // do not wait for async callback in case of error of full write |