diff options
author | Glenn Kasten <gkasten@google.com> | 2014-11-21 02:43:17 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-11-21 02:43:17 +0000 |
commit | 3dd2eb810af471df146cb16a680b1b0ca7364be5 (patch) | |
tree | 2ab99e4bc77c0dd3e7b01f5679b43d5a6d808f76 /services/audioflinger | |
parent | 30e0138abb68adb246e610ac5e7d8c5807dacc4a (diff) | |
parent | d48f1b68b2b824ffcfdbf6aa67ad4696020a8a11 (diff) | |
download | frameworks_av-3dd2eb810af471df146cb16a680b1b0ca7364be5.zip frameworks_av-3dd2eb810af471df146cb16a680b1b0ca7364be5.tar.gz frameworks_av-3dd2eb810af471df146cb16a680b1b0ca7364be5.tar.bz2 |
am d48f1b68: am f50db74f: Merge "Fix format conversion in DuplicatingThread" into lmp-mr1-dev
* commit 'd48f1b68b2b824ffcfdbf6aa67ad4696020a8a11':
Fix format conversion in DuplicatingThread
Diffstat (limited to 'services/audioflinger')
-rw-r--r-- | services/audioflinger/Threads.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp index a75f784..885aded 100644 --- a/services/audioflinger/Threads.cpp +++ b/services/audioflinger/Threads.cpp @@ -4694,15 +4694,15 @@ void AudioFlinger::DuplicatingThread::threadLoop_sleepTime() ssize_t AudioFlinger::DuplicatingThread::threadLoop_write() { + // We convert the duplicating thread format to AUDIO_FORMAT_PCM_16_BIT + // for delivery downstream as needed. This in-place conversion is safe as + // AUDIO_FORMAT_PCM_16_BIT is smaller than any other supported format + // (AUDIO_FORMAT_PCM_8_BIT is not allowed here). + if (mFormat != AUDIO_FORMAT_PCM_16_BIT) { + memcpy_by_audio_format(mSinkBuffer, AUDIO_FORMAT_PCM_16_BIT, + mSinkBuffer, mFormat, writeFrames * mChannelCount); + } for (size_t i = 0; i < outputTracks.size(); i++) { - // We convert the duplicating thread format to AUDIO_FORMAT_PCM_16_BIT - // for delivery downstream as needed. This in-place conversion is safe as - // AUDIO_FORMAT_PCM_16_BIT is smaller than any other supported format - // (AUDIO_FORMAT_PCM_8_BIT is not allowed here). - if (mFormat != AUDIO_FORMAT_PCM_16_BIT) { - memcpy_by_audio_format(mSinkBuffer, AUDIO_FORMAT_PCM_16_BIT, - mSinkBuffer, mFormat, writeFrames * mChannelCount); - } outputTracks[i]->write(reinterpret_cast<int16_t*>(mSinkBuffer), writeFrames); } mStandby = false; |