summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2014-11-21 02:43:17 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-11-21 02:43:17 +0000
commit3dd2eb810af471df146cb16a680b1b0ca7364be5 (patch)
tree2ab99e4bc77c0dd3e7b01f5679b43d5a6d808f76 /services
parent30e0138abb68adb246e610ac5e7d8c5807dacc4a (diff)
parentd48f1b68b2b824ffcfdbf6aa67ad4696020a8a11 (diff)
downloadframeworks_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')
-rw-r--r--services/audioflinger/Threads.cpp16
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;