diff --git a/services/services/recorder/server/recorder_server.cpp b/services/services/recorder/server/recorder_server.cpp index b79ce146f9c47599168e9614ddee42e2d85ae21b..207a5d99bab267c1db697679c618fb20fe942675 100644 --- a/services/services/recorder/server/recorder_server.cpp +++ b/services/services/recorder/server/recorder_server.cpp @@ -342,6 +342,9 @@ int32_t RecorderServer::Pause() int32_t RecorderServer::Resume() { std::lock_guard lock(mutex_); + if (status_ == REC_RECORDING) { + return MSERR_OK; + } CHECK_STATUS_FAILED_AND_LOGE_RET(status_ != REC_RECORDING && status_ != REC_PAUSED, MSERR_INVALID_OPERATION); CHECK_AND_RETURN_RET_LOG(recorderEngine_ != nullptr, MSERR_NO_MEMORY, "engine is nullptr"); int32_t ret = recorderEngine_->Resume();