From 0f178abcd238e0449953599dd1521d4bc661fb24 Mon Sep 17 00:00:00 2001 From: yangli Date: Mon, 31 Jul 2023 11:29:31 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BAid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../src/dscreen_sink_service.cpp | 8 +++--- .../dscreenmgr/1.0/src/dscreen_manager.cpp | 25 +++++++----------- .../dscreenmgr/2.0/src/dscreen_manager.cpp | 26 ++++++++----------- .../src/dscreen_source_service.cpp | 20 +++++--------- 4 files changed, 30 insertions(+), 49 deletions(-) diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp index 6793a2b8..95daa9f6 100644 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp +++ b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp @@ -69,11 +69,9 @@ bool DScreenSinkService::Init() int32_t DScreenSinkService::InitSink(const std::string ¶ms) { DHLOGI("Init sink dscreen region manager, params: %s", params.c_str()); - if (IsSupportAVTransEngine(params)) { - int32_t ret = V2_0::ScreenRegionManager::GetInstance().Initialize(); - if (ret != DH_SUCCESS) { - DHLOGE("Initialize V2_0::ScreenRegionManage failed. err: %d", ret); - } + int32_t ret = V2_0::ScreenRegionManager::GetInstance().Initialize(); + if (ret != DH_SUCCESS) { + DHLOGE("Initialize V2_0::ScreenRegionManage failed. err: %d", ret); } return DH_SUCCESS; } diff --git a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp index b8453f5d..369fd13d 100644 --- a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp @@ -60,18 +60,6 @@ DScreenManager::~DScreenManager() int32_t DScreenManager::Init() { DHLOGI("DScreenManager::Init2.0"); - if (dScreenGroupListener_ == nullptr) { - dScreenGroupListener_ = new (std::nothrow) DScreenGroupListener(); - int32_t ret = ScreenMgrAdapter::GetInstance().RegisterScreenGroupListener(dScreenGroupListener_); - if (ret != DH_SUCCESS) { - DHLOGE("DScreenManager Init failed, err: %" PRId32, ret); - dScreenGroupListener_ = nullptr; - return ret; - } - } - if (dScreenCallback_ == nullptr) { - dScreenCallback_ = std::make_shared(); - } return DH_SUCCESS; } @@ -243,11 +231,18 @@ int32_t DScreenManager::EnableDistributedScreen(const std::string &devId, const { DHLOGI("EnableDistributedScreen2.0, devId: %s, dhId:%s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str()); + if (dScreenGroupListener_ == nullptr) { + dScreenGroupListener_ = new (std::nothrow) DScreenGroupListener(); + int32_t ret = ScreenMgrAdapter::GetInstance().RegisterScreenGroupListener(dScreenGroupListener_); + if (ret != DH_SUCCESS) { + DHLOGE("DScreenManager Init failed, err: %" PRId32, ret); + dScreenGroupListener_ = nullptr; + return ret; + } + } if (dScreenCallback_ == nullptr) { - DHLOGE("dscreen manager not init."); - return ERR_DH_SCREEN_SA_ENABLE_FAILED; + dScreenCallback_ = std::make_shared(); } - std::string dScreenIdx = devId + SEPERATOR + dhId; std::lock_guard lock(dScreenMapMtx_); std::shared_ptr dScreen = dScreens_[dScreenIdx]; diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp index 944d69e7..c08ae487 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp @@ -73,19 +73,6 @@ DScreenManager::~DScreenManager() int32_t DScreenManager::Initialize() { DHLOGI("DScreenManager::Init3.0"); - if (dScreenGroupListener_ == nullptr) { - dScreenGroupListener_ = new (std::nothrow) DScreenGroupListener(); - int32_t ret = ScreenMgrAdapter::GetInstance().RegisterScreenGroupListener(dScreenGroupListener_); - if (ret != DH_SUCCESS) { - DHLOGE("DScreenManager Init failed, err: %" PRId32, ret); - delete dScreenGroupListener_; - dScreenGroupListener_ = nullptr; - return ret; - } - } - if (dScreenCallback_ == nullptr) { - dScreenCallback_ = std::make_shared(); - } int32_t ret = LoadAVSenderEngineProvider(); if (ret != DH_SUCCESS) { DHLOGE("Load av transport sender engine provider failed."); @@ -239,9 +226,18 @@ int32_t DScreenManager::EnableDistributedScreen(const std::string &devId, const { DHLOGI("EnableDistributedScreen3.0, devId: %s, dhId:%s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str()); + if (dScreenGroupListener_ == nullptr) { + dScreenGroupListener_ = new (std::nothrow) DScreenGroupListener(); + int32_t ret = ScreenMgrAdapter::GetInstance().RegisterScreenGroupListener(dScreenGroupListener_); + if (ret != DH_SUCCESS) { + DHLOGE("DScreenManager Init failed, err: %" PRId32, ret); + delete dScreenGroupListener_; + dScreenGroupListener_ = nullptr; + return ret; + } + } if (dScreenCallback_ == nullptr) { - DHLOGE("dscreen manager not init."); - return ERR_DH_SCREEN_SA_ENABLE_FAILED; + dScreenCallback_ = std::make_shared(); } std::string dScreenIdx = devId + SEPERATOR + dhId; std::lock_guard lock(dScreenMapMtx_); diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index 6973b588..6f95139d 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -80,21 +80,13 @@ int32_t DScreenSourceService::InitSource(const std::string ¶ms, const sptr Date: Mon, 31 Jul 2023 16:31:17 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BAid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp | 3 --- .../sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp | 3 --- 2 files changed, 6 deletions(-) diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp index cd81d971..d0557cc0 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp @@ -170,9 +170,6 @@ HWTEST_F(DScreenManagerTestV1, EnableDistributedScreen_001, TestSize.Level1) int32_t ret = DScreenManager::GetInstance().UnInit(); EXPECT_EQ(DH_SUCCESS, ret); - ret = DScreenManager::GetInstance().EnableDistributedScreen("", "", EnableParam{"", ""}, ""); - EXPECT_EQ(ERR_DH_SCREEN_SA_ENABLE_FAILED, ret); - ret = DScreenManager::GetInstance().Init(); EXPECT_EQ(DH_SUCCESS, ret); diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp index 95f5924d..182331f3 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp @@ -166,9 +166,6 @@ HWTEST_F(DScreenManagerTestV2, OnUnregResult_001, TestSize.Level1) */ HWTEST_F(DScreenManagerTestV2, EnableDistributedScreen_001, TestSize.Level1) { - int32_t ret = DScreenManager::GetInstance().EnableDistributedScreen("", "", EnableParam{"", ""}, ""); - EXPECT_EQ(ERR_DH_SCREEN_SA_ENABLE_FAILED, ret); - std::string devId = "devId000"; std::string dhId = "dhId000"; EnableParam param = {"2.0", "attrs000"}; -- Gitee From 23a056022823503095a6ddce262ae06ac95115ea Mon Sep 17 00:00:00 2001 From: yangli Date: Mon, 31 Jul 2023 16:35:32 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BAid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp index 182331f3..21294b9f 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_manager_test.cpp @@ -175,7 +175,7 @@ HWTEST_F(DScreenManagerTestV2, EnableDistributedScreen_001, TestSize.Level1) std::shared_ptr dScreenCallback = std::make_shared(); std::shared_ptr dScreen = std::make_shared(devId, dhId, dScreenCallback); dScreen->SetState(DScreenState::ENABLED); - ret = DScreenManager::GetInstance().EnableDistributedScreen(devId, dhId, param, reqId); + int32_t ret = DScreenManager::GetInstance().EnableDistributedScreen(devId, dhId, param, reqId); EXPECT_EQ(DH_SUCCESS, ret); dScreen->SetState(DScreenState::DISCONNECTING); -- Gitee From 935a22a383926d11b1f79562d78ea9d0b70baa49 Mon Sep 17 00:00:00 2001 From: yangli Date: Tue, 1 Aug 2023 19:36:26 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BAid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../src/screen_data_channel_impl_test.cpp | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/services/screentransport/test/unittest/screendatachannel/src/screen_data_channel_impl_test.cpp b/services/screentransport/test/unittest/screendatachannel/src/screen_data_channel_impl_test.cpp index 3a567c66..6a9754ce 100644 --- a/services/screentransport/test/unittest/screendatachannel/src/screen_data_channel_impl_test.cpp +++ b/services/screentransport/test/unittest/screendatachannel/src/screen_data_channel_impl_test.cpp @@ -184,12 +184,12 @@ HWTEST_F(ScreenDataChannelImplTest, close_session_test_002, TestSize.Level1) EXPECT_EQ(ERR_DH_SCREEN_TRANS_SESSION_NOT_OPEN, dataChannelImpl_->CloseSession()); } -// /** -// * @tc.name: send_data_test_001 -// * @tc.desc: Verify the SendData function. -// * @tc.type: FUNC -// * @tc.require: Issue Number -// */ +/** + * @tc.name: send_data_test_001 + * @tc.desc: Verify the SendData function. + * @tc.type: FUNC + * @tc.require: Issue Number + */ HWTEST_F(ScreenDataChannelImplTest, send_data_test_001, TestSize.Level1) { std::shared_ptr listener = nullptr; @@ -219,12 +219,12 @@ HWTEST_F(ScreenDataChannelImplTest, send_data_test_002, TestSize.Level1) EXPECT_EQ(ERR_DH_SCREEN_TRANS_NULL_VALUE, dataChannelImpl_->SendData(data)); } -// /** -// * @tc.name: send_data_test_003 -// * @tc.desc: Verify the SendData function. -// * @tc.type: FUNC -// * @tc.require: Issue Number -// */ +/** + * @tc.name: send_data_test_003 + * @tc.desc: Verify the SendData function. + * @tc.type: FUNC + * @tc.require: Issue Number + */ HWTEST_F(ScreenDataChannelImplTest, send_data_test_003, TestSize.Level1) { std::shared_ptr listener = nullptr; -- Gitee From e4f294e87d0b7359d6afb6b19c527e62c773d4c7 Mon Sep 17 00:00:00 2001 From: yangli Date: Mon, 14 Aug 2023 15:37:48 +0800 Subject: [PATCH 05/14] 0814 Signed-off-by: yangli --- services/common/utils/src/video_param.cpp | 9 ++++-- .../dscreenmgr/1.0/src/dscreen.cpp | 31 ++----------------- .../decoder/src/image_sink_decoder.cpp | 4 +-- 3 files changed, 11 insertions(+), 33 deletions(-) diff --git a/services/common/utils/src/video_param.cpp b/services/common/utils/src/video_param.cpp index 4a4ebb22..24e84f79 100644 --- a/services/common/utils/src/video_param.cpp +++ b/services/common/utils/src/video_param.cpp @@ -119,8 +119,8 @@ void from_json(const json &j, DistributedHardware::VideoParam &videoParam) { if (!IsUInt32(j, KEY_SCREEN_WIDTH) || !IsUInt32(j, KEY_SCREEN_HEIGHT) || !IsUInt32(j, KEY_VIDEO_WIDTH) || !IsUInt32(j, KEY_VIDEO_HEIGHT) || - !IsBool(j, KEY_PARTIALREFREAH) || !IsUInt32(j, KEY_FPS) || - !IsUInt8(j, KEY_CODECTYPE) || !IsUInt8(j, KEY_COLOR_FORMAT)) { + !IsUInt32(j, KEY_FPS) || !IsUInt8(j, KEY_CODECTYPE) || + !IsUInt8(j, KEY_COLOR_FORMAT)) { return; } @@ -131,7 +131,10 @@ void from_json(const json &j, DistributedHardware::VideoParam &videoParam) videoParam.fps_ = j[KEY_FPS].get(); videoParam.codecType_ = j[KEY_CODECTYPE].get(); videoParam.videoFormat_ = j[KEY_COLOR_FORMAT].get(); - videoParam.isPartialRefresh_ = j[KEY_PARTIALREFREAH].get(); + videoParam.isPartialRefresh_ = false; + if (IsBool(j, KEY_PARTIALREFREAH)) { + videoParam.isPartialRefresh_ = j[KEY_PARTIALREFREAH].get(); + } } } // namespace DistributedHardware } // namespace OHOS diff --git a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp index 9e7f96f3..c9f64b57 100644 --- a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp @@ -299,34 +299,9 @@ int32_t DScreen::NegotiateCodecType(const std::string &remoteCodecInfoStr) } localCodecArray.push_back(codecInfo->GetName()); } - - std::vector codecTypeCandidates; - for (const auto &remoteCodecType : remoteCodecArray) { - if (std::find(localCodecArray.begin(), localCodecArray.end(), - remoteCodecType) != localCodecArray.end()) { - codecTypeCandidates.push_back(remoteCodecType); - } - } - - if (std::find(codecTypeCandidates.begin(), codecTypeCandidates.end(), - CODEC_NAME_H265) != codecTypeCandidates.end()) { - videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H265); - videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); - videoParam_->SetPartialRefreshFlag(true); - } else if (std::find(codecTypeCandidates.begin(), codecTypeCandidates.end(), - CODEC_NAME_H264) != codecTypeCandidates.end()) { - videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); - videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); - videoParam_->SetPartialRefreshFlag(true); - } else if (std::find(codecTypeCandidates.begin(), codecTypeCandidates.end(), - CODEC_NAME_MPEG4) != codecTypeCandidates.end()) { - videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_MPEG4); - videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_RGBA8888); - } else { - DHLOGI("codec type not support."); - return ERR_DH_SCREEN_SA_DSCREEN_NEGOTIATE_CODEC_FAIL; - } - + videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); + videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); + videoParam_->SetPartialRefreshFlag(true); return DH_SUCCESS; } diff --git a/services/screentransport/screensinkprocessor/decoder/src/image_sink_decoder.cpp b/services/screentransport/screensinkprocessor/decoder/src/image_sink_decoder.cpp index 0c1900fe..e495674f 100644 --- a/services/screentransport/screensinkprocessor/decoder/src/image_sink_decoder.cpp +++ b/services/screentransport/screensinkprocessor/decoder/src/image_sink_decoder.cpp @@ -98,8 +98,8 @@ sptr ImageSinkDecoder::GetWinSurfaceBuffer() sptr windowSurfaceBuffer = nullptr; int32_t releaseFence = -1; OHOS::BufferRequestConfig requestConfig = { - .width = configParam_.GetVideoWidth(), - .height = configParam_.GetVideoHeight(), + .width = static_cast(configParam_.GetVideoWidth()), + .height = static_cast(configParam_.GetVideoHeight()), .strideAlignment = STRIDE_ALIGNMENT, .format = GRAPHIC_PIXEL_FMT_YCBCR_420_SP, .usage = BUFFER_USAGE_CPU_READ | BUFFER_USAGE_CPU_WRITE | BUFFER_USAGE_MEM_DMA, -- Gitee From 916af76f2addde1a3bbb9f65bec643e6ff7a320a Mon Sep 17 00:00:00 2001 From: yangli Date: Tue, 15 Aug 2023 17:07:40 +0800 Subject: [PATCH 06/14] 0815 Signed-off-by: yangli --- .../dscreenmgr/1.0/src/dscreen.cpp | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp index c9f64b57..ce43b0fc 100644 --- a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp @@ -299,9 +299,35 @@ int32_t DScreen::NegotiateCodecType(const std::string &remoteCodecInfoStr) } localCodecArray.push_back(codecInfo->GetName()); } - videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); - videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); - videoParam_->SetPartialRefreshFlag(true); + std::vector codecTypeCandidates; + for (const auto &remoteCodecType : remoteCodecArray) { + if (std::find(localCodecArray.begin(), localCodecArray.end(), + remoteCodecType) != localCodecArray.end()) { + codecTypeCandidates.push_back(remoteCodecType); + } + } + + if (std::find(codecTypeCandidates.begin(), codecTypeCandidates.end(), + CODEC_NAME_H264) != codecTypeCandidates.end()) { + videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); + videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); + videoParam_->SetPartialRefreshFlag(true); + } else if (std::find(codecTypeCandidates.begin(), codecTypeCandidates.end(), + CODEC_NAME_MPEG4) != codecTypeCandidates.end()) { + videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_MPEG4); + videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_RGBA8888); + } else if (std::find(codecTypeCandidates.begin(), codecTypeCandidates.end(), + CODEC_NAME_H265) != codecTypeCandidates.end()) { + videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H265); + videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); + videoParam_->SetPartialRefreshFlag(true); + } else { + DHLOGI("codec type not support."); + return ERR_DH_SCREEN_SA_DSCREEN_NEGOTIATE_CODEC_FAIL; + } + // videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); + // videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); + // videoParam_->SetPartialRefreshFlag(true); return DH_SUCCESS; } -- Gitee From 90085c001608a1df97ed1fea1283b2ddb1ea37d9 Mon Sep 17 00:00:00 2001 From: yangli Date: Tue, 15 Aug 2023 17:09:35 +0800 Subject: [PATCH 07/14] 0815 Signed-off-by: yangli --- .../sourceservice/dscreenmgr/1.0/src/dscreen.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp index ce43b0fc..801a3614 100644 --- a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp @@ -321,13 +321,10 @@ int32_t DScreen::NegotiateCodecType(const std::string &remoteCodecInfoStr) videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H265); videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); videoParam_->SetPartialRefreshFlag(true); - } else { + } else { DHLOGI("codec type not support."); return ERR_DH_SCREEN_SA_DSCREEN_NEGOTIATE_CODEC_FAIL; } - // videoParam_->SetCodecType(VIDEO_CODEC_TYPE_VIDEO_H264); - // videoParam_->SetVideoFormat(VIDEO_DATA_FORMAT_NV12); - // videoParam_->SetPartialRefreshFlag(true); return DH_SUCCESS; } -- Gitee From 03514692d303bdef94a250256fc690c977e362e9 Mon Sep 17 00:00:00 2001 From: yangli Date: Tue, 15 Aug 2023 20:51:34 +0800 Subject: [PATCH 08/14] 0815 Signed-off-by: yangli --- .../dscreenmgr/1.0/src/dscreen_manager.cpp | 12 ++++++++---- .../dscreenmgr/2.0/src/dscreen_manager.cpp | 12 ++++++++---- .../dscreenservice/src/dscreen_source_service.cpp | 7 ++++++- .../dscreenmgr/1.0/src/dscreen_manager_test.cpp | 2 ++ .../dscreenmgr/2.0/src/dscreen_manager_test.cpp | 5 ++++- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp index 369fd13d..418fd302 100644 --- a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp @@ -59,7 +59,7 @@ DScreenManager::~DScreenManager() int32_t DScreenManager::Init() { - DHLOGI("DScreenManager::Init2.0"); + DHLOGI("DScreenManager::Init1.0"); return DH_SUCCESS; } @@ -229,15 +229,19 @@ void DScreenManager::OnUnregResult(const std::shared_ptr &dScreen, int32_t DScreenManager::EnableDistributedScreen(const std::string &devId, const std::string &dhId, const EnableParam ¶m, const std::string &reqId) { - DHLOGI("EnableDistributedScreen2.0, devId: %s, dhId:%s", + DHLOGI("EnableDistributedScreen1.0, devId: %s, dhId:%s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str()); + if (devId.empty() || dhId.empty() || param.version.empty() || param.attrs.empty() || reqId.empty()) { + DHLOGE("EnableDistributedScreen1.0 CheckRegParams is inlvalid."); + return ERR_DH_SCREEN_SA_ENABLE_FAILED; + } if (dScreenGroupListener_ == nullptr) { dScreenGroupListener_ = new (std::nothrow) DScreenGroupListener(); int32_t ret = ScreenMgrAdapter::GetInstance().RegisterScreenGroupListener(dScreenGroupListener_); if (ret != DH_SUCCESS) { - DHLOGE("DScreenManager Init failed, err: %" PRId32, ret); + DHLOGE("DScreenManager1.0 EnableDistributedScreen failed, err: %" PRId32, ret); dScreenGroupListener_ = nullptr; - return ret; + return ERR_DH_SCREEN_SA_ENABLE_FAILED; } } if (dScreenCallback_ == nullptr) { diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp index c08ae487..76d76863 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp @@ -72,7 +72,7 @@ DScreenManager::~DScreenManager() int32_t DScreenManager::Initialize() { - DHLOGI("DScreenManager::Init3.0"); + DHLOGI("DScreenManager::Init2.0"); int32_t ret = LoadAVSenderEngineProvider(); if (ret != DH_SUCCESS) { DHLOGE("Load av transport sender engine provider failed."); @@ -224,16 +224,20 @@ void DScreenManager::OnUnregResult(const std::shared_ptr &dScreen, int32_t DScreenManager::EnableDistributedScreen(const std::string &devId, const std::string &dhId, const EnableParam ¶m, const std::string &reqId) { - DHLOGI("EnableDistributedScreen3.0, devId: %s, dhId:%s", GetAnonyString(devId).c_str(), + DHLOGI("EnableDistributedScreen2.0, devId: %s, dhId:%s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str()); + if (devId.empty() || dhId.empty() || param.version.empty() || param.attrs.empty() || reqId.empty()) { + DHLOGE("EnableDistributedScreen1.0 CheckRegParams is inlvalid."); + return ERR_DH_SCREEN_SA_ENABLE_FAILED; + } if (dScreenGroupListener_ == nullptr) { dScreenGroupListener_ = new (std::nothrow) DScreenGroupListener(); int32_t ret = ScreenMgrAdapter::GetInstance().RegisterScreenGroupListener(dScreenGroupListener_); if (ret != DH_SUCCESS) { - DHLOGE("DScreenManager Init failed, err: %" PRId32, ret); + DHLOGE("DScreenManager2.0 EnableDistributedScreen failed, err: %" PRId32, ret); delete dScreenGroupListener_; dScreenGroupListener_ = nullptr; - return ret; + return ERR_DH_SCREEN_SA_ENABLE_FAILED; } } if (dScreenCallback_ == nullptr) { diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index 6f95139d..2e65a49d 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -83,9 +83,14 @@ int32_t DScreenSourceService::InitSource(const std::string ¶ms, const sptr dScreenCallback = std::make_shared(); std::shared_ptr dScreen = std::make_shared(devId, dhId, dScreenCallback); dScreen->SetState(DScreenState::ENABLED); - int32_t ret = DScreenManager::GetInstance().EnableDistributedScreen(devId, dhId, param, reqId); + ret = DScreenManager::GetInstance().EnableDistributedScreen(devId, dhId, param, reqId); EXPECT_EQ(DH_SUCCESS, ret); dScreen->SetState(DScreenState::DISCONNECTING); -- Gitee From 37d55821636057e799e4dd225824bc314d97dc10 Mon Sep 17 00:00:00 2001 From: yangli Date: Tue, 15 Aug 2023 20:55:32 +0800 Subject: [PATCH 09/14] 0815 Signed-off-by: yangli --- .../sinkservice/screenregionmgr/1.0/src/screenregion_test.cpp | 2 +- .../screenregionmgr/1.0/src/screenregionmgr_test.cpp | 2 +- .../sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/services/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregion_test.cpp b/services/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregion_test.cpp index 0cca9bb1..f22b64d5 100644 --- a/services/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregion_test.cpp +++ b/services/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregion_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregionmgr_test.cpp b/services/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregionmgr_test.cpp index 50936edc..40ae7720 100644 --- a/services/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregionmgr_test.cpp +++ b/services/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregionmgr_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp index b1fa1f4d..400eaba7 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at -- Gitee From 895f06792f6422ad72757b8b3248c26209374551 Mon Sep 17 00:00:00 2001 From: yangli Date: Tue, 15 Aug 2023 20:58:18 +0800 Subject: [PATCH 10/14] 0815 Signed-off-by: yangli --- .../sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp index 76d76863..81ca68be 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen_manager.cpp @@ -227,7 +227,7 @@ int32_t DScreenManager::EnableDistributedScreen(const std::string &devId, const DHLOGI("EnableDistributedScreen2.0, devId: %s, dhId:%s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str()); if (devId.empty() || dhId.empty() || param.version.empty() || param.attrs.empty() || reqId.empty()) { - DHLOGE("EnableDistributedScreen1.0 CheckRegParams is inlvalid."); + DHLOGE("EnableDistributedScreen2.0 CheckRegParams is inlvalid."); return ERR_DH_SCREEN_SA_ENABLE_FAILED; } if (dScreenGroupListener_ == nullptr) { -- Gitee From 89f95a917d06d0215ef3f23ed0ee40fb019dd6ef Mon Sep 17 00:00:00 2001 From: yangli Date: Tue, 15 Aug 2023 20:59:21 +0800 Subject: [PATCH 11/14] 0815 Signed-off-by: yangli --- .../sourceservice/dscreenservice/src/dscreen_source_service.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index 2e65a49d..6224262b 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -88,7 +88,7 @@ int32_t DScreenSourceService::InitSource(const std::string ¶ms, const sptr Date: Tue, 15 Aug 2023 21:01:24 +0800 Subject: [PATCH 12/14] 0815 Signed-off-by: yangli --- .../sourceservice/dscreenservice/src/dscreen_source_service.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index 6224262b..e7f2a29b 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -86,7 +86,7 @@ int32_t DScreenSourceService::InitSource(const std::string ¶ms, const sptr Date: Tue, 15 Aug 2023 21:02:12 +0800 Subject: [PATCH 13/14] 0815 Signed-off-by: yangli --- .../sourceservice/dscreenservice/src/dscreen_source_service.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index e7f2a29b..e924a456 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -88,7 +88,7 @@ int32_t DScreenSourceService::InitSource(const std::string ¶ms, const sptr Date: Tue, 15 Aug 2023 21:06:33 +0800 Subject: [PATCH 14/14] 0815 Signed-off-by: yangli --- .../sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp index 400eaba7..dbf519ba 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/1.0/src/dscreen_manager_test.cpp @@ -172,6 +172,7 @@ HWTEST_F(DScreenManagerTestV1, EnableDistributedScreen_001, TestSize.Level1) ret = DScreenManager::GetInstance().EnableDistributedScreen("", "", EnableParam{"", ""}, ""); EXPECT_EQ(ERR_DH_SCREEN_SA_ENABLE_FAILED, ret); + ret = DScreenManager::GetInstance().Init(); EXPECT_EQ(DH_SUCCESS, ret); -- Gitee