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

Commit e83ac21b authored by Andy Hung's avatar Andy Hung Committed by Android (Google) Code Review
Browse files

Merge "AudioMixer: Always do prepareForReformat() in setChannelMasks()" into pi-dev

parents 84e84a5d 1a0ecc38
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -204,15 +204,14 @@ bool AudioMixer::setChannelMasks(int name,

    // channel masks have changed, does this track need a downmixer?
    // update to try using our desired format (if we aren't already using it)
    const audio_format_t prevDownmixerFormat = track->mDownmixRequiresFormat;
    const status_t status = track->prepareForDownmix();
    ALOGE_IF(status != OK,
            "prepareForDownmix error %d, track channel mask %#x, mixer channel mask %#x",
            status, track->channelMask, track->mMixerChannelMask);

    if (prevDownmixerFormat != track->mDownmixRequiresFormat) {
        track->prepareForReformat(); // because of downmixer, track format may change!
    }
    // always do reformat since channel mask changed,
    // do it after downmix since track format may change!
    track->prepareForReformat();

    if (track->mResampler.get() != nullptr && mixerChannelCountChanged) {
        // resampler channels may have changed.