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

Commit de7156e4 authored by Ady Abraham's avatar Ady Abraham
Browse files

SurfaceFlinger: getRefreshRateForContentV2 always returns valid config

Make sure getRefreshRateForContentV2 always returns an allowed config.

Bug: 150477881
Test: YouTube video playback
Change-Id: I2271e4e1b3855875d8bc55d300d33636ca9de3fc
parent d9eff75a
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -235,13 +235,13 @@ const RefreshRate& RefreshRateConfigs::getRefreshRateForContentV2(
            ? getBestRefreshRate(scores.rbegin(), scores.rend())
            ? getBestRefreshRate(scores.rbegin(), scores.rend())
            : getBestRefreshRate(scores.begin(), scores.end());
            : getBestRefreshRate(scores.begin(), scores.end());


    return bestRefreshRate == nullptr ? *mCurrentRefreshRate : *bestRefreshRate;
    return *bestRefreshRate;
}
}


template <typename Iter>
template <typename Iter>
const RefreshRate* RefreshRateConfigs::getBestRefreshRate(Iter begin, Iter end) const {
const RefreshRate* RefreshRateConfigs::getBestRefreshRate(Iter begin, Iter end) const {
    const RefreshRate* bestRefreshRate = nullptr;
    const RefreshRate* bestRefreshRate = begin->first;
    float max = 0;
    float max = begin->second;
    for (auto i = begin; i != end; ++i) {
    for (auto i = begin; i != end; ++i) {
        const auto [refreshRate, score] = *i;
        const auto [refreshRate, score] = *i;
        ALOGV("%s scores %.2f", refreshRate->name.c_str(), score);
        ALOGV("%s scores %.2f", refreshRate->name.c_str(), score);