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

Commit a3b80e01 authored by Andy Hung's avatar Andy Hung Committed by Automerger Merge Worker
Browse files

Merge "SoundPool: Avoid busy waiting during stream restart" am: dfb0754d am: 361882fa

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1642443

Change-Id: I37868ad22d887b2e75544126499a7cc4da9298e9
parents 53942e86 361882fa
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -358,14 +358,14 @@ void StreamManager::addToActiveQueue_l(Stream *stream) {
void StreamManager::run(int32_t id)
{
    ALOGV("%s(%d) entering", __func__, id);
    int64_t waitTimeNs = kWaitTimeBeforeCloseNs;
    int64_t waitTimeNs = 0;  // on thread start, mRestartStreams can be non-empty.
    std::unique_lock lock(mStreamManagerLock);
    while (!mQuit) {
        if (mRestartStreams.empty()) { // on thread start, mRestartStreams can be non-empty.
        if (waitTimeNs > 0) {
            mStreamManagerCondition.wait_for(
                    lock, std::chrono::duration<int64_t, std::nano>(waitTimeNs));
        }
        ALOGV("%s(%d) awake", __func__, id);
        ALOGV("%s(%d) awake lock waitTimeNs:%lld", __func__, id, (long long)waitTimeNs);

        sanityCheckQueue_l();