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

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

Merge "AudioFlinger: Check output is non-null for (get|set)PlaybackRate" into main

parents f8ad9b37 47c6bbb7
Loading
Loading
Loading
Loading
+8 −4
Original line number Original line Diff line number Diff line
@@ -2126,7 +2126,9 @@ status_t Track::getPlaybackRateParameters(
        if (thread != nullptr) {
        if (thread != nullptr) {
            auto* const t = thread->asIAfPlaybackThread().get();
            auto* const t = thread->asIAfPlaybackThread().get();
            audio_utils::lock_guard lock(t->mutex());
            audio_utils::lock_guard lock(t->mutex());
            status = t->getOutput_l()->stream->getPlaybackRateParameters(playbackRate);
            if (auto* const output = t->getOutput_l()) {
                status = output->stream->getPlaybackRateParameters(playbackRate);
            }
            ALOGD_IF((status == NO_ERROR) &&
            ALOGD_IF((status == NO_ERROR) &&
                    !isAudioPlaybackRateEqual(mPlaybackRateParameters, *playbackRate),
                    !isAudioPlaybackRateEqual(mPlaybackRateParameters, *playbackRate),
                    "%s: playbackRate inconsistent", __func__);
                    "%s: playbackRate inconsistent", __func__);
@@ -2144,12 +2146,14 @@ status_t Track::setPlaybackRateParameters(
        if (thread != nullptr) {
        if (thread != nullptr) {
            auto* const t = thread->asIAfPlaybackThread().get();
            auto* const t = thread->asIAfPlaybackThread().get();
            audio_utils::lock_guard lock(t->mutex());
            audio_utils::lock_guard lock(t->mutex());
            status = t->getOutput_l()->stream->setPlaybackRateParameters(playbackRate);
            if (auto* const output = t->getOutput_l()) {
                status = output->stream->setPlaybackRateParameters(playbackRate);
                if (status == NO_ERROR) {
                if (status == NO_ERROR) {
                    mPlaybackRateParameters = playbackRate;
                    mPlaybackRateParameters = playbackRate;
                }
                }
            }
            }
        }
        }
    }
    return status;
    return status;
}
}