diff --git a/services/audioclient/micclient/src/dmic_client.cpp b/services/audioclient/micclient/src/dmic_client.cpp index 330fb618cb4db6fc80d552c132546545780ad14c..abeaefbfb9ed59e8fd7badec0d343db19546d0f0 100644 --- a/services/audioclient/micclient/src/dmic_client.cpp +++ b/services/audioclient/micclient/src/dmic_client.cpp @@ -271,7 +271,7 @@ void DMicClient::AudioFwkCaptureData() } int64_t endTime = GetNowTimeUs(); if (IsOutDurationRange(startTime, endTime, lastCaptureStartTime_)) { - DHLOGE("This time capture spend: %lld, The interval of capture this time and the last time: %lld", + DHLOGE("This time capture spend: %lld us, The interval of capture this time and the last time: %lld us", endTime - startTime, startTime - lastCaptureStartTime_); } lastCaptureStartTime_ = startTime; @@ -292,7 +292,7 @@ void DMicClient::AudioFwkCaptureData() } int64_t endTransTime = GetNowTimeUs(); if (IsOutDurationRange(startTransTime, endTransTime, lastTransStartTime_)) { - DHLOGE("This time send data spend: %lld, The interval of send data this time and the last time: %lld", + DHLOGE("This time send data spend: %lld us, The interval of send data this time and the last time: %lld us", endTransTime - startTransTime, startTransTime - lastTransStartTime_); } lastTransStartTime_ = startTransTime; diff --git a/services/audioclient/spkclient/src/dspeaker_client.cpp b/services/audioclient/spkclient/src/dspeaker_client.cpp index 6a51c61a6644478d07074641a70d88cab2d9351a..120452ef81ac7c784e74621d14a7dc0492f14d44 100644 --- a/services/audioclient/spkclient/src/dspeaker_client.cpp +++ b/services/audioclient/spkclient/src/dspeaker_client.cpp @@ -311,7 +311,7 @@ void DSpeakerClient::PlayThreadRunning() } int64_t endTime = GetNowTimeUs(); if (IsOutDurationRange(startTime, endTime, lastPlayStartTime_)) { - DHLOGE("This time play spend: %lld, The interval of play this time and the last time: %lld", + DHLOGE("This time play spend: %lld us, The interval of play this time and the last time: %lld us", endTime - startTime, startTime - lastPlayStartTime_); } lastPlayStartTime_ = startTime; @@ -362,7 +362,7 @@ int32_t DSpeakerClient::OnDecodeTransDataDone(const std::shared_ptr & DHLOGI("Push new spk data, buf len: %d.", dataQueue_.size()); int64_t endTime = GetNowTimeUs(); if (IsOutDurationRange(startTime, endTime, lastReceiveStartTime_)) { - DHLOGE("This time receivce data spend: %lld, The interval of receivce data this time and the last time: %lld", + DHLOGE("This time receivce data spend: %lld us, Receivce data this time and the last time: %lld us", endTime - startTime, startTime - lastReceiveStartTime_); } lastReceiveStartTime_ = startTime; diff --git a/services/audiohdiproxy/src/daudio_hdi_handler.cpp b/services/audiohdiproxy/src/daudio_hdi_handler.cpp index 5f3023c404e0606331fa838f362343dd3c0821a3..3c6a4f45c1db1e71a6e675cd6f182082ca2178a5 100644 --- a/services/audiohdiproxy/src/daudio_hdi_handler.cpp +++ b/services/audiohdiproxy/src/daudio_hdi_handler.cpp @@ -79,6 +79,11 @@ int32_t DAudioHdiHandler::InitHdiHandler() int32_t DAudioHdiHandler::UninitHdiHandler() { DHLOGI("Unload hdf driver start."); + if (remote_ == nullptr) { + DHLOGE("Remote is nullptr."); + return ERR_DH_AUDIO_NULLPTR; + } + remote_->RemoveDeathRecipient(audioHdiRecipient_); if (audioSrvHdf_ == nullptr) { DHLOGI("Audio hdi proxy not init. Do not need to uninit."); return DH_SUCCESS; @@ -88,7 +93,6 @@ int32_t DAudioHdiHandler::UninitHdiHandler() DHLOGE("Unload hdf driver failed, ret: %d", ret); return ret; } - remote_->RemoveDeathRecipient(audioHdiRecipient_); DHLOGI("Uninit hdi handler success."); return DH_SUCCESS; } diff --git a/services/audiomanager/managersink/src/daudio_sink_dev.cpp b/services/audiomanager/managersink/src/daudio_sink_dev.cpp index bb9081b9dd8b37a02305b7cfb634d48e0f36922a..75ca02a93cc98d50d2628ea55ae4b54a7500fbe5 100644 --- a/services/audiomanager/managersink/src/daudio_sink_dev.cpp +++ b/services/audiomanager/managersink/src/daudio_sink_dev.cpp @@ -54,11 +54,7 @@ int32_t DAudioSinkDev::AwakeAudioDev() void DAudioSinkDev::SleepAudioDev() { - if (handler_ == nullptr) { - DHLOGI("Event handler is already stoped."); - return; - } - while (!handler_->IsIdle()) {}; + handler_ = nullptr; DHLOGD("Sleep audio dev over."); } diff --git a/services/audiomanager/managersource/include/daudio_source_manager.h b/services/audiomanager/managersource/include/daudio_source_manager.h index 0f6809fae83125c15b107f851bbde0d1b1c1a6d4..5d9d2a5b91a1d7d95d0735940ef62797eab1335a 100644 --- a/services/audiomanager/managersource/include/daudio_source_manager.h +++ b/services/audiomanager/managersource/include/daudio_source_manager.h @@ -70,7 +70,7 @@ private: static constexpr const char* LISTEN_THREAD = "sourceListenTh"; static constexpr int32_t WATCHDOG_INTERVAL_TIME = 20000; static constexpr int32_t WATCHDOG_DELAY_TIME = 5000; - static constexpr size_t SLEEP_TIME = 5000; + static constexpr size_t SLEEP_TIME = 1000000; std::string localDevId_; std::mutex devMapMtx_; diff --git a/services/audiomanager/managersource/src/daudio_source_dev.cpp b/services/audiomanager/managersource/src/daudio_source_dev.cpp index 6550a5efe4c3744eb4121ac711d954c2d739c4b2..34cc20733dc9577fc124e78090c81a598f3d6d53 100644 --- a/services/audiomanager/managersource/src/daudio_source_dev.cpp +++ b/services/audiomanager/managersource/src/daudio_source_dev.cpp @@ -100,11 +100,7 @@ int32_t DAudioSourceDev::AwakeAudioDev() void DAudioSourceDev::SleepAudioDev() { - if (handler_ == nullptr) { - DHLOGI("Event handler is already stoped."); - return; - } - while (!handler_->IsIdle()) {}; + handler_ = nullptr; DHLOGD("Sleep audio dev over."); } diff --git a/services/audiomanager/managersource/src/daudio_source_manager.cpp b/services/audiomanager/managersource/src/daudio_source_manager.cpp index bea0b5f0a1480c418066d8485b5c80cccb579426..f1b46f0096435da4b6199d36fa98df7c5ba1ea3e 100644 --- a/services/audiomanager/managersource/src/daudio_source_manager.cpp +++ b/services/audiomanager/managersource/src/daudio_source_manager.cpp @@ -367,6 +367,10 @@ void DAudioSourceManager::ListenAudioDev() std::lock_guard lock(devMapMtx_); if (!audioDevMap_.empty()) { for (auto &iter : audioDevMap_) { + if (iter.second.dev == nullptr) { + DHLOGE("Listen audioDev error, dev is nullptr."); + continue; + } iter.second.dev->RestoreThreadStatus(); } } diff --git a/services/audiomanager/managersource/src/dmic_dev.cpp b/services/audiomanager/managersource/src/dmic_dev.cpp index 39fcf443270fe1b469d2d16dac993cd6f302ab13..6d546ab6fc44633b7db4a4ece03e90ea84782a9e 100644 --- a/services/audiomanager/managersource/src/dmic_dev.cpp +++ b/services/audiomanager/managersource/src/dmic_dev.cpp @@ -332,7 +332,7 @@ int32_t DMicDev::ReadStreamData(const std::string &devId, const int32_t dhId, st #endif int64_t endTime = GetNowTimeUs(); if (IsOutDurationRange(startTime, endTime, lastReadStartTime_)) { - DHLOGE("This time read data spend: %lld, The interval of read data this time and the last time: %lld", + DHLOGE("This time read data spend: %lld us, The interval of read data this time and the last time: %lld us", endTime - startTime, startTime - lastReadStartTime_); } lastReadStartTime_ = startTime; diff --git a/services/audiomanager/managersource/src/dspeaker_dev.cpp b/services/audiomanager/managersource/src/dspeaker_dev.cpp index 41a0b98f64e56e136a90ac580dc6f96b9caf1087..e45fd8db885634830ea55ad63535f2d57b5eef05 100644 --- a/services/audiomanager/managersource/src/dspeaker_dev.cpp +++ b/services/audiomanager/managersource/src/dspeaker_dev.cpp @@ -330,7 +330,7 @@ int32_t DSpeakerDev::WriteStreamData(const std::string &devId, const int32_t dhI } int64_t endTime = GetNowTimeUs(); if (IsOutDurationRange(startTime, endTime, lastwriteStartTime_)) { - DHLOGE("This time write data spend: %lld, The interval of write data this time and the last time: %lld", + DHLOGE("This time write data spend: %lld us, The interval of write data this time and the last time: %lld us", endTime - startTime, startTime - lastwriteStartTime_); } lastwriteStartTime_ = startTime;