diff options
| author | Ricardo Garcia <rago@google.com> | 2015-05-29 01:28:47 +0000 | 
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-05-29 01:28:48 +0000 | 
| commit | 76b1d55b69f0d1d36bb96ab0c206ef1eff715d82 (patch) | |
| tree | 0755e0d33e740bf4c66c8ee852cc309857e3b39d /services | |
| parent | db431db53fbbb9024b6e72c528e2d195d63ad544 (diff) | |
| parent | d11da70f0e1d06ee6c7b2f83fcfb06257a1c90f2 (diff) | |
| download | frameworks_av-76b1d55b69f0d1d36bb96ab0c206ef1eff715d82.zip frameworks_av-76b1d55b69f0d1d36bb96ab0c206ef1eff715d82.tar.gz frameworks_av-76b1d55b69f0d1d36bb96ab0c206ef1eff715d82.tar.bz2  | |
Merge "Fix for audio effects in offload path for mono content" into mnc-dev
Diffstat (limited to 'services')
| -rw-r--r-- | services/audioflinger/Effects.cpp | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/services/audioflinger/Effects.cpp b/services/audioflinger/Effects.cpp index 8bccb47..949c91d 100644 --- a/services/audioflinger/Effects.cpp +++ b/services/audioflinger/Effects.cpp @@ -335,13 +335,21 @@ status_t AudioFlinger::EffectModule::configure()      // TODO: handle configuration of effects replacing track process      channelMask = thread->channelMask(); +    mConfig.outputCfg.channels = channelMask;      if ((mDescriptor.flags & EFFECT_FLAG_TYPE_MASK) == EFFECT_FLAG_TYPE_AUXILIARY) {          mConfig.inputCfg.channels = AUDIO_CHANNEL_OUT_MONO;      } else {          mConfig.inputCfg.channels = channelMask; +        // TODO: Update this logic when multichannel effects are implemented. +        // For offloaded tracks consider mono output as stereo for proper effect initialization +        if (channelMask == AUDIO_CHANNEL_OUT_MONO) { +            mConfig.inputCfg.channels = AUDIO_CHANNEL_OUT_STEREO; +            mConfig.outputCfg.channels = AUDIO_CHANNEL_OUT_STEREO; +            ALOGV("Overriding effect input and output as STEREO"); +        }      } -    mConfig.outputCfg.channels = channelMask; +      mConfig.inputCfg.format = AUDIO_FORMAT_PCM_16_BIT;      mConfig.outputCfg.format = AUDIO_FORMAT_PCM_16_BIT;      mConfig.inputCfg.samplingRate = thread->sampleRate();  | 
