diff --git a/services/audio_engine/node/include/hpae_offload_sinkoutput_node.h b/services/audio_engine/node/include/hpae_offload_sinkoutput_node.h index d7eac9285b7e06036b667c12821decc2d858c017..847272cd8551d75fadb271c5998dde0d8d7e3eeb 100644 --- a/services/audio_engine/node/include/hpae_offload_sinkoutput_node.h +++ b/services/audio_engine/node/include/hpae_offload_sinkoutput_node.h @@ -112,6 +112,7 @@ private: uint32_t timeoutThdFrames_ = 0; // first stand for pos(in us), second stand for time std::pair hdiPos_; + uint32_t suspendCount_ = 0; }; } // namespace HPAE diff --git a/services/audio_engine/node/src/hpae_offload_sinkoutput_node.cpp b/services/audio_engine/node/src/hpae_offload_sinkoutput_node.cpp index 24d56f2693db4fcad82f3f10b854a3f9c7720a8a..913a1274308172066de2363906593cb1e4b90e0d 100644 --- a/services/audio_engine/node/src/hpae_offload_sinkoutput_node.cpp +++ b/services/audio_engine/node/src/hpae_offload_sinkoutput_node.cpp @@ -65,16 +65,15 @@ HpaeOffloadSinkOutputNode::HpaeOffloadSinkOutputNode(HpaeNodeInfo &nodeInfo) bool HpaeOffloadSinkOutputNode::CheckIfSuspend() { - static uint32_t suspendCount = 0; if (!GetPreOutNum()) { - suspendCount++; + suspendCount_++; usleep(TIME_US_PER_MS * FRAME_TIME_IN_MS); - if (suspendCount > timeoutThdFrames_) { + if (suspendCount_ > timeoutThdFrames_) { RenderSinkStop(); } return true; } else { - suspendCount = 0; + suspendCount_ = 0; return false; } }