Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d11da70f authored by Ricardo Garcia's avatar Ricardo Garcia
Browse files

Fix for audio effects in offload path for mono content

Effects path is always stereo, and it should be initialized as thus even
if the source is mono. Fixed condition check before initialization.

bug: 18157592
Change-Id: Idd7241931e4ba6085fd804345128d898c8511e11
parent 70b23133
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -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();