diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h index f4ef5ca11299dda6b07674fa658195acc0f650e7..1cb9ae327af1db93026a3c164195eb7d2d199dba 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h @@ -112,7 +112,7 @@ private: void HandleDisconnect(); int32_t StartSenderEngine(); int32_t StopSenderEngine(); - std::shared_ptr ParseInputScreenParam(const std::string ¶m, const std::string &taskId); + void ParseInputScreenParam(const std::string ¶m, const std::string &taskId); /* * Negotiate the codec format between local to remote device, diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp index e54b7c7f846f9df0a895a788fc9d5431757f6074..d171f24724b50f96b8e3f45ed450c754b40b603e 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp @@ -136,7 +136,7 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) return; } SetState(ENABLING); - videoParam_ = ParseInputScreenParam(param, taskId); + ParseInputScreenParam(param, taskId); if (videoParam_ == nullptr) { DHLOGE("DScreen::HandleEnable, videoParam_ is nullptr"); return; @@ -158,7 +158,7 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) "dscreen enable success."); } -std::shared_ptr DScreen::ParseInputScreenParam(const std::string ¶m, const std::string &taskId) +void DScreen::ParseInputScreenParam(const std::string ¶m, const std::string &taskId) { json attrJson = json::parse(param, nullptr, false); if (!CheckJsonData(attrJson)) { @@ -168,7 +168,10 @@ std::shared_ptr DScreen::ParseInputScreenParam(const std::string &pa ReportRegisterFail(DSCREEN_REGISTER_FAIL, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "check json data failed."); SetState(DISABLED); - return nullptr; + return; + } + if (videoParam_ == nullptr) { + videoParam_ = std::make_shared(); } int32_t ret = NegotiateCodecType(attrJson[KEY_HISTREAMER_VIDEO_DECODER]); if (ret != DH_SUCCESS) { @@ -177,12 +180,10 @@ std::shared_ptr DScreen::ParseInputScreenParam(const std::string &pa "negotiate codec type failed."); ReportRegisterFail(DSCREEN_REGISTER_FAIL, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "negotiate codec type failed."); - return nullptr; + return; } - auto videoParam = std::make_shared(); - videoParam->SetScreenWidth(attrJson[KEY_SCREEN_WIDTH].get()); - videoParam->SetScreenHeight(attrJson[KEY_SCREEN_HEIGHT].get()); - return videoParam; + videoParam_->SetScreenWidth(attrJson[KEY_SCREEN_WIDTH].get()); + videoParam_->SetScreenHeight(attrJson[KEY_SCREEN_HEIGHT].get()); } void DScreen::HandleDisable(const std::string &taskId) diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_test.cpp index 7acbaafbca4a2f54761480eadd4ccf6066a8a8ce..5534a2cd0e51e00516a98f4ff30eb7953c9fd6de 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_test.cpp @@ -121,19 +121,6 @@ HWTEST_F(DScreenTestV2, HandleEnable_001, TestSize.Level1) EXPECT_EQ(SCREEN_ID_INVALID, dScreen_->screenId_); } -/** - * @tc.name: ParseInputScreenParam_001 - * @tc.desc: Verify the ParseInputScreenParam function failed. - * @tc.type: FUNC - * @tc.require: Issue Number - */ -HWTEST_F(DScreenTestV2, ParseInputScreenParam_001, TestSize.Level1) -{ - std::string param = "param"; - std::string taskId = "taskId"; - EXPECT_EQ(nullptr, dScreen_->ParseInputScreenParam(param, taskId)); -} - /** * @tc.name: HandleDisable_001 * @tc.desc: Verify the HandleDisable function failed.