From a20be660fe7a81e9a1d4e24c329a595f92ad3eed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E5=9B=BD=E5=BA=86?= Date: Sat, 6 Jul 2024 11:53:49 +0800 Subject: [PATCH 1/2] code optimization of text_example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 韦国庆 --- .../test_example/distributedaudiotest.cpp | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/services/test_example/distributedaudiotest.cpp b/services/test_example/distributedaudiotest.cpp index db1833c9..98e76892 100644 --- a/services/test_example/distributedaudiotest.cpp +++ b/services/test_example/distributedaudiotest.cpp @@ -288,6 +288,9 @@ static void OpenSpk(const std::string &devId) } g_callbackStub = new AudioParamCallbackImpl(); + if (g_adapter == nullptr) { + return; + } int32_t ret = g_adapter->RegExtraParamObserver(g_callbackStub, 0); if (ret != DH_SUCCESS) { std::cout << "Register observer failed, ret: " << ret << std::endl; @@ -442,12 +445,18 @@ static void CloseSpk() StopRender(); } + if (g_adapter == nullptr) { + return; + } int32_t ret = g_adapter->DestroyRender(g_renderId); if (ret != DH_SUCCESS) { std::cout << "Close speaker failed" << std::endl; return; } if (g_micStatus == DeviceStatus::DEVICE_IDLE) { + if (g_manager == nullptr) { + return; + } g_manager->UnloadAdapter(g_devId); g_adapter = nullptr; } @@ -512,6 +521,9 @@ static void OpenMic(const std::string &devId) captureAttr.channelCount = CAPTURE_CHANNEL_MASK; captureAttr.sampleRate = AUDIO_SAMPLE_RATE; captureAttr.format = AudioFormat::AUDIO_FORMAT_TYPE_PCM_16_BIT; + if (g_adapter == nullptr) { + return; + } int32_t ret = g_adapter->CreateCapture(captureDesc, captureAttr, g_capture, g_captureId); if (ret != DH_SUCCESS || g_capture == nullptr) { std::cout << "Open MIC device failed." << std::endl; @@ -628,12 +640,18 @@ static void CloseMic() StopCapture(); } + if (g_adapter == nullptr) { + return; + } int32_t ret = g_adapter->DestroyCapture(g_captureId); if (ret != DH_SUCCESS) { std::cout << "Close mic failed." << std::endl; return; } if (g_spkStatus == DeviceStatus::DEVICE_IDLE) { + if (g_manager == nullptr) { + return; + } g_manager->UnloadAdapter(g_devId); g_adapter = nullptr; } @@ -661,6 +679,9 @@ static void SetVolume() AudioExtParamKey key = AudioExtParamKey::AUDIO_EXT_PARAM_KEY_VOLUME; std::string condition = "EVENT_TYPE=1;VOLUME_GROUP_ID=1;AUDIO_VOLUME_TYPE=1;"; std::string volStr = std::to_string(volInt); + if (g_adapter == nullptr) { + return; + } int32_t ret = g_adapter->SetExtraParams(key, condition, volStr); if (ret != DH_SUCCESS) { std::cout << "Set volume failed" << std::endl; @@ -676,6 +697,9 @@ static void GetVolume() AudioExtParamKey key = AudioExtParamKey::AUDIO_EXT_PARAM_KEY_VOLUME; std::string condition = "EVENT_TYPE=1;VOLUME_GROUP_ID=1;AUDIO_VOLUME_TYPE=1;"; std::string vol; + if (g_adapter == nullptr) { + return; + } int32_t ret = g_adapter->GetExtraParams(key, condition.c_str(), vol); if (ret != DH_SUCCESS) { std::cout << "Get Volume failed." << std::endl; -- Gitee From f16fdcecfd4c67ef026d008414f17f7cbb5126be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E5=9B=BD=E5=BA=86?= Date: Tue, 9 Jul 2024 09:12:48 +0800 Subject: [PATCH 2/2] Delete variable not used of cjson MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 韦国庆 --- .../managersource/src/daudio_source_dev.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/services/audiomanager/managersource/src/daudio_source_dev.cpp b/services/audiomanager/managersource/src/daudio_source_dev.cpp index 7ffc2a94..338c1ba7 100644 --- a/services/audiomanager/managersource/src/daudio_source_dev.cpp +++ b/services/audiomanager/managersource/src/daudio_source_dev.cpp @@ -745,12 +745,13 @@ int32_t DAudioSourceDev::TaskDisableDAudio(const std::string &args) if (args.length() > DAUDIO_MAX_JSON_LEN || args.empty()) { return ERR_DH_AUDIO_SA_PARAM_INVALID; } - cJSON *jParam = cJSON_Parse(args.c_str()); - CHECK_NULL_RETURN(jParam, ERR_DH_AUDIO_NULLPTR); + int32_t dhId = ParseDhidFromEvent(args); - CHECK_AND_FREE_RETURN_RET_LOG(dhId == ERR_DH_AUDIO_FAILED, ERR_DH_AUDIO_NULLPTR, jParam, - "%{public}s", "Parse dhId error."); - cJSON_Delete(jParam); + if (dhId == ERR_DH_AUDIO_FAILED) { + DHLOGE("Parse dhId error. hdId: %{public}d.", dhId); + return ERR_DH_AUDIO_NULLPTR; + } + DHLOGI("Parsed dhId = %{public}d", dhId); switch (GetDevTypeByDHId(dhId)) { case AUDIO_DEVICE_TYPE_SPEAKER: -- Gitee