diff options
| -rw-r--r-- | media/jni/soundpool/StreamManager.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/media/jni/soundpool/StreamManager.cpp b/media/jni/soundpool/StreamManager.cpp index 79e4d8ae6e26..c61221892c28 100644 --- a/media/jni/soundpool/StreamManager.cpp +++ b/media/jni/soundpool/StreamManager.cpp @@ -340,8 +340,10 @@ void StreamManager::run(int32_t id) int64_t waitTimeNs = kWaitTimeBeforeCloseNs; std::unique_lock lock(mStreamManagerLock); while (!mQuit) { - mStreamManagerCondition.wait_for( - lock, std::chrono::duration<int64_t, std::nano>(waitTimeNs)); + if (mRestartStreams.empty()) { // on thread start, mRestartStreams can be non-empty. + mStreamManagerCondition.wait_for( + lock, std::chrono::duration<int64_t, std::nano>(waitTimeNs)); + } ALOGV("%s(%d) awake", __func__, id); sanityCheckQueue_l(); |