diff --git a/audiohandler/src/daudio_handler.cpp b/audiohandler/src/daudio_handler.cpp index a0259dd17f87c98f184534ab9034ea1ea278fc2b..7fe7cc986390003b175c819d6406647d1cfbd539 100644 --- a/audiohandler/src/daudio_handler.cpp +++ b/audiohandler/src/daudio_handler.cpp @@ -102,7 +102,8 @@ bool DAudioHandler::AddItemsToObject(DHItem &dhItem, cJSON* infoJson, const int3 std::vector DAudioHandler::QueryMeta() { - return {}; + DHLOGI("Query meta distributed hardware information."); + return Query(); } std::vector DAudioHandler::Query() diff --git a/services/audiomanager/managersource/src/daudio_source_dev.cpp b/services/audiomanager/managersource/src/daudio_source_dev.cpp index e6abf306e14526122dab8c44196dceee69acbdd8..ce4738d61975ea42d46916754b5a277439b7ea47 100644 --- a/services/audiomanager/managersource/src/daudio_source_dev.cpp +++ b/services/audiomanager/managersource/src/daudio_source_dev.cpp @@ -611,12 +611,17 @@ int32_t DAudioSourceDev::EnableDSpeaker(const int32_t dhId, const std::string &a { std::lock_guard devLck(ioDevMtx_); if (deviceMap_.find(dhId) != deviceMap_.end()) { - DHLOGI("The speaker device is already enabled."); + DHLOGI("The speaker device is enabled, enable it with new data this time."); + CHECK_NULL_RETURN(deviceMap_[dhId], ERR_DH_AUDIO_NULLPTR); + if (deviceMap_[dhId]->EnableDevice(dhId, attrs) != DH_SUCCESS) { + DHLOGI("Failed to enable speaker device with new data."); + return ERR_DH_AUDIO_FAILED; + } return DH_SUCCESS; } auto speaker = std::make_shared(devId_, shared_from_this()); if (speaker->EnableDevice(dhId, attrs) != DH_SUCCESS) { - DHLOGI("Failed to enable speaker device."); + DHLOGI("Failed to enable speaker device first time."); return ERR_DH_AUDIO_FAILED; } deviceMap_[dhId] = speaker; @@ -627,12 +632,17 @@ int32_t DAudioSourceDev::EnableDMic(const int32_t dhId, const std::string &attrs { std::lock_guard devLck(ioDevMtx_); if (deviceMap_.find(dhId) != deviceMap_.end()) { - DHLOGI("The mic device is already enabled."); + DHLOGI("The mic device is enabled, enable it with new data this time."); + CHECK_NULL_RETURN(deviceMap_[dhId], ERR_DH_AUDIO_NULLPTR); + if (deviceMap_[dhId]->EnableDevice(dhId, attrs) != DH_SUCCESS) { + DHLOGI("Failed to enable mic device with new data."); + return ERR_DH_AUDIO_FAILED; + } return DH_SUCCESS; } auto mic = std::make_shared(devId_, shared_from_this()); if (mic->EnableDevice(dhId, attrs) != DH_SUCCESS) { - DHLOGI("Failed to enable mic device."); + DHLOGI("Failed to enable mic device first time."); return ERR_DH_AUDIO_FAILED; } deviceMap_[dhId] = mic; diff --git a/services/audiomanager/test/unittest/sourcedevice/src/daudio_source_dev_test.cpp b/services/audiomanager/test/unittest/sourcedevice/src/daudio_source_dev_test.cpp index 98aadc6b0635e1efc013852aee9409b355a69823..6e96da761a28fd1fd9437a8f679c7412e89d98b3 100644 --- a/services/audiomanager/test/unittest/sourcedevice/src/daudio_source_dev_test.cpp +++ b/services/audiomanager/test/unittest/sourcedevice/src/daudio_source_dev_test.cpp @@ -516,13 +516,14 @@ HWTEST_F(DAudioSourceDevTest, OnEnableTaskResult_001, TestSize.Level1) */ HWTEST_F(DAudioSourceDevTest, EnableDSpeaker_001, TestSize.Level1) { - auto speaker = std::make_shared(DEV_ID, sourceDev_); int32_t dhId = DEFAULT_RENDER_ID; + EXPECT_EQ(ERR_DH_AUDIO_FAILED, sourceDev_->EnableDSpeaker(dhId, ATTRS)); + auto speaker = std::make_shared(DEV_ID, sourceDev_); sourceDev_->deviceMap_[dhId] = speaker; - EXPECT_EQ(DH_SUCCESS, sourceDev_->EnableDSpeaker(dhId, ATTRS)); + EXPECT_EQ(ERR_DH_AUDIO_FAILED, sourceDev_->EnableDSpeaker(dhId, ATTRS)); sourceDev_->deviceMap_[dhId] = nullptr; - EXPECT_EQ(DH_SUCCESS, sourceDev_->EnableDSpeaker(dhId, ATTRS)); + EXPECT_EQ(ERR_DH_AUDIO_NULLPTR, sourceDev_->EnableDSpeaker(dhId, ATTRS)); } /** @@ -533,12 +534,14 @@ HWTEST_F(DAudioSourceDevTest, EnableDSpeaker_001, TestSize.Level1) */ HWTEST_F(DAudioSourceDevTest, EnableDMic_001, TestSize.Level1) { - int32_t dhId = 0; - sourceDev_->mic_ = std::make_shared(DEV_ID, sourceDev_); - EXPECT_NE(DH_SUCCESS, sourceDev_->EnableDMic(dhId, ATTRS)); - sourceDev_->mic_ = nullptr; + int32_t dhId = DEFAULT_CAPTURE_ID; + EXPECT_EQ(ERR_DH_AUDIO_FAILED, sourceDev_->EnableDMic(dhId, ATTRS)); + auto mic = std::make_shared(DEV_ID, sourceDev_); + sourceDev_->deviceMap_[dhId] = mic; + EXPECT_EQ(ERR_DH_AUDIO_FAILED, sourceDev_->EnableDMic(dhId, ATTRS)); + sourceDev_->deviceMap_[dhId] = nullptr; - EXPECT_NE(DH_SUCCESS, sourceDev_->EnableDMic(dhId, ATTRS)); + EXPECT_EQ(ERR_DH_AUDIO_NULLPTR, sourceDev_->EnableDMic(dhId, ATTRS)); } /** @@ -1109,7 +1112,7 @@ HWTEST_F(DAudioSourceDevTest, EnableDMic_002, TestSize.Level1) sourceDev_->SleepAudioDev(); auto mic = std::make_shared(devId, sourceDev_); sourceDev_->deviceMap_.insert(std::make_pair(dhId, mic)); - EXPECT_EQ(DH_SUCCESS, sourceDev_->EnableDMic(dhId, attrs)); + EXPECT_EQ(ERR_DH_AUDIO_FAILED, sourceDev_->EnableDMic(dhId, attrs)); } /**