diff --git a/src/media/audio/opensl/opensllayer.cpp b/src/media/audio/opensl/opensllayer.cpp
index 6ad51326b81ed541d5e53ccf2d80f68613ed666a..a00a3d8d75a7e0eac352c15d9678abbbf560eacf 100644
--- a/src/media/audio/opensl/opensllayer.cpp
+++ b/src/media/audio/opensl/opensllayer.cpp
@@ -281,7 +281,7 @@ OpenSLLayer::startAudioPlayback()
     playThread = std::thread([&]() {
         std::unique_lock<std::mutex> lck(playMtx);
         while (player_ || ringtone_) {
-            playCv.wait(lck);
+            playCv.wait_for(lck, std::chrono::seconds(1));
             if (player_ && player_->waiting_) {
                 std::lock_guard<std::mutex> lk(player_->m_);
                 engineServicePlay(false);