diff --git a/services/audiomanager/managersource/src/daudio_source_manager.cpp b/services/audiomanager/managersource/src/daudio_source_manager.cpp index 91f87529dbf738d6c83178089bdc6bcaf5a03f00..5612cdfa831b0970155cf523bf53dbfb7ad9d531 100644 --- a/services/audiomanager/managersource/src/daudio_source_manager.cpp +++ b/services/audiomanager/managersource/src/daudio_source_manager.cpp @@ -218,6 +218,10 @@ int32_t DAudioSourceManager::DoEnableDAudio(const std::string &args) sourceDev = audioDevMap_[devId].dev; } DHLOGI("Call source dev to enable daudio."); + if (sourceDev == nullptr) { + DHLOGE("Source dev is nullptr."); + return ERR_DH_AUDIO_FAILED; + } int32_t result = sourceDev->EnableDAudio(dhId, attrs); return OnEnableDAudio(devId, dhId, result); } diff --git a/services/audiomanager/managersource/src/dmic_dev.cpp b/services/audiomanager/managersource/src/dmic_dev.cpp index b746682640073a3eae3120affd93020b3ad95e0f..54cf54c8382a0bb9e404bca1719c186a1edf8857 100644 --- a/services/audiomanager/managersource/src/dmic_dev.cpp +++ b/services/audiomanager/managersource/src/dmic_dev.cpp @@ -390,7 +390,7 @@ void DMicDev::EnqueueThread() { writeIndex_ = 0; writeNum_ = 0; - int64_t timeIntervalns = paramHDF_.period * AUDIO_NS_PER_SECOND / AUDIO_MS_PER_SECOND; + int64_t timeIntervalns = static_cast(paramHDF_.period * AUDIO_NS_PER_SECOND / AUDIO_MS_PER_SECOND); DHLOGD("Enqueue thread start, lengthPerWrite length: %{public}d, interval: %{public}d.", lengthPerTrans_, paramHDF_.period); FillJitterQueue(); diff --git a/services/audiomanager/managersource/src/dspeaker_dev.cpp b/services/audiomanager/managersource/src/dspeaker_dev.cpp index 232faebda868ba7e6693c8c76906f898262a56eb..7e6b65adc20252700adc37ed8a2019bb8724bbf5 100644 --- a/services/audiomanager/managersource/src/dspeaker_dev.cpp +++ b/services/audiomanager/managersource/src/dspeaker_dev.cpp @@ -371,7 +371,7 @@ void DSpeakerDev::EnqueueThread() readIndex_ = 0; readNum_ = 0; frameIndex_ = 0; - int64_t timeIntervalns = paramHDF_.period * AUDIO_NS_PER_SECOND / AUDIO_MS_PER_SECOND; + int64_t timeIntervalns = static_cast(paramHDF_.period * AUDIO_NS_PER_SECOND / AUDIO_MS_PER_SECOND); DHLOGI("Enqueue thread start, lengthPerRead length: %{public}d, interval: %{pubic}d.", lengthPerTrans_, paramHDF_.period); while (ashmem_ != nullptr && isEnqueueRunning_.load()) {