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

Commit 1d26ddf7 authored by Andy Hung's avatar Andy Hung
Browse files

Avoid resetting BufferProviders in mixer unnecessarily

Change-Id: Iad85c4dfd21be1dbf89dc11906106b34219376f8
parent 798ce934
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -750,6 +750,9 @@ void AudioMixer::setBufferProvider(int name, AudioBufferProvider* bufferProvider
    name -= TRACK0;
    ALOG_ASSERT(uint32_t(name) < MAX_NUM_TRACKS, "bad track name %d", name);

    if (mState.tracks[name].mInputBufferProvider == bufferProvider) {
        return; // don't reset any buffer providers if identical.
    }
    if (mState.tracks[name].mReformatBufferProvider != NULL) {
        mState.tracks[name].mReformatBufferProvider->reset();
    } else if (mState.tracks[name].downmixerBufferProvider != NULL) {