summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Andy Hung <hunga@google.com> 2021-03-17 23:24:02 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-03-17 23:24:02 +0000
commita3b80e013ced8e7d1e2b869214d37af8f435d7ed (patch)
tree19f5c5a545e39982363e09bf172468970f4f3e04
parent53942e8692ce05e9ed71aea533d33283b04187b8 (diff)
parent361882fae0e018164742315f66c8c9b00a5a1757 (diff)
Merge "SoundPool: Avoid busy waiting during stream restart" am: dfb0754d31 am: 361882fae0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1642443 Change-Id: I37868ad22d887b2e75544126499a7cc4da9298e9
-rw-r--r--media/jni/soundpool/StreamManager.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/media/jni/soundpool/StreamManager.cpp b/media/jni/soundpool/StreamManager.cpp
index 49c2b39f8904..309d71cfd062 100644
--- a/media/jni/soundpool/StreamManager.cpp
+++ b/media/jni/soundpool/StreamManager.cpp
@@ -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();