diff options
author | Andy Hung <hunga@google.com> | 2015-05-19 12:57:41 -0700 |
---|---|---|
committer | Andy Hung <hunga@google.com> | 2015-05-19 13:08:45 -0700 |
commit | 1f439e1cf16a29347288ba9ddd06c0b6d086a145 (patch) | |
tree | d4a7b6501598b794b0ceffcf6c473520fda5e323 /services/audioflinger/Threads.cpp | |
parent | 64b6cb2cd5646a5ffcdb2cccee09a170ef2882d5 (diff) | |
download | frameworks_av-1f439e1cf16a29347288ba9ddd06c0b6d086a145.zip frameworks_av-1f439e1cf16a29347288ba9ddd06c0b6d086a145.tar.gz frameworks_av-1f439e1cf16a29347288ba9ddd06c0b6d086a145.tar.bz2 |
Update FastTrack channel conversion check
Change-Id: Ia1a3124e6408859bf4d95ff9fd95dda6970a4a7f
Diffstat (limited to 'services/audioflinger/Threads.cpp')
-rw-r--r-- | services/audioflinger/Threads.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp index 594ed05..bd29207 100644 --- a/services/audioflinger/Threads.cpp +++ b/services/audioflinger/Threads.cpp @@ -1572,10 +1572,12 @@ sp<AudioFlinger::PlaybackThread::Track> AudioFlinger::PlaybackThread::createTrac ) && // PCM data audio_is_linear_pcm(format) && - // identical channel mask to sink, or mono in and stereo sink + // TODO: extract as a data library function that checks that a computationally + // expensive downmixer is not required: isFastOutputChannelConversion() (channelMask == mChannelMask || - (channelMask == AUDIO_CHANNEL_OUT_MONO && - mChannelMask == AUDIO_CHANNEL_OUT_STEREO)) && + mChannelMask != AUDIO_CHANNEL_OUT_STEREO || + (channelMask == AUDIO_CHANNEL_OUT_MONO + /* && mChannelMask == AUDIO_CHANNEL_OUT_STEREO */)) && // hardware sample rate (sampleRate == mSampleRate) && // normal mixer has an associated fast mixer |