From f2e6d1422e8d02c518d5f72677be47502efb2188 Mon Sep 17 00:00:00 2001 From: yangli Date: Thu, 29 Jun 2023 12:44:13 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- distributedscreen.gni | 2 -- services/common/test/unittest/utils/BUILD.gn | 6 ++++-- services/screenservice/sinkservice/BUILD.gn | 6 ++++-- .../include/dscreen_sink_service.h | 1 + .../screenregionmgr/2.0/src/screenregion.cpp | 6 +++--- services/screenservice/sourceservice/BUILD.gn | 7 +++++-- .../dscreenmgr/1.0/src/dscreen_manager.cpp | 2 +- .../2.0/include/av_sender_engine_adapter.h | 2 +- .../dscreenmgr/2.0/include/dscreen.h | 2 ++ .../dscreenmgr/2.0/src/dscreen.cpp | 17 ++++++++++++----- .../include/dscreen_source_service.h | 1 + .../dscreenmgr/onchange_fuzzer/BUILD.gn | 2 +- .../sinkservice/screenregionmgr/BUILD.gn | 2 +- .../unittest/sourceservice/dscreenmgr/BUILD.gn | 7 +++---- .../screentransport/screensinktrans/BUILD.gn | 2 +- .../screentransport/screensourcetrans/BUILD.gn | 2 +- .../softbusonbytesreceived_fuzzer/BUILD.gn | 3 ++- .../softbusonmessagereceived_fuzzer/BUILD.gn | 3 ++- .../fuzztest/softbusonqosevent_fuzzer/BUILD.gn | 3 ++- .../softbusonsessionclosed_fuzzer/BUILD.gn | 3 ++- .../softbusonsessionopened_fuzzer/BUILD.gn | 3 ++- .../softbusonstreamreceived_fuzzer/BUILD.gn | 3 ++- 22 files changed, 53 insertions(+), 32 deletions(-) diff --git a/distributedscreen.gni b/distributedscreen.gni index a36a7301..eccf2eb2 100644 --- a/distributedscreen.gni +++ b/distributedscreen.gni @@ -18,7 +18,6 @@ windowmanager_path = "//foundation/window/window_manager" mediastandard_path = "//foundation/multimedia/player_framework" driver_path = "//drivers/peripheral/display" ipc_path = "//foundation/communication/ipc" -graphicstandard_path = "//foundation/graphic/graphic_2d" common_path = "${distributedscreen_path}/common" services_path = "${distributedscreen_path}/services" interfaces_path = "${distributedscreen_path}/interfaces" @@ -26,7 +25,6 @@ fwk_utils_path = "${distributedhardwarefwk_path}/utils" fwk_common_path = "${distributedhardwarefwk_path}/common" fwk_services_path = "${distributedhardwarefwk_path}/services" fwk_interfaces_path = "${distributedhardwarefwk_path}/interfaces" -av_transport_path = "${distributedhardwarefwk_path}/av_transport" ipc_interfaces_path = "${ipc_path}/interfaces" build_flags = [ "-Werror" ] diff --git a/services/common/test/unittest/utils/BUILD.gn b/services/common/test/unittest/utils/BUILD.gn index 7134be76..d3fec1b5 100644 --- a/services/common/test/unittest/utils/BUILD.gn +++ b/services/common/test/unittest/utils/BUILD.gn @@ -21,7 +21,6 @@ config("module_private_config") { visibility = [ ":*" ] include_dirs = [ - "${av_transport_path}/common/include", "//third_party/json/include", "${fwk_common_path}/utils/include", "${fwk_common_path}/log/include", @@ -55,7 +54,10 @@ ohos_unittest("UtilsTest") { "//third_party/googletest:gtest_main", ] - external_deps = [ "distributed_hardware_fwk:libdhfwk_sdk" ] + external_deps = [ + "distributed_hardware_fwk:distributed_av_sender", + "distributed_hardware_fwk:libdhfwk_sdk", + ] } group("utils_test") { diff --git a/services/screenservice/sinkservice/BUILD.gn b/services/screenservice/sinkservice/BUILD.gn index 6036e236..6103376c 100644 --- a/services/screenservice/sinkservice/BUILD.gn +++ b/services/screenservice/sinkservice/BUILD.gn @@ -18,7 +18,6 @@ import( ohos_shared_library("distributed_screen_sink") { include_dirs = [ - "${av_transport_path}/common/include", "//third_party/json/include", "${fwk_common_path}/utils/include", "${distributedhardwarefwk_path}/interfaces/inner_kits/include", @@ -51,11 +50,13 @@ ohos_shared_library("distributed_screen_sink") { "./dscreenservice/src/dscreen_sink_stub.cpp", "./screenregionmgr/1.0/src/screenregion.cpp", "./screenregionmgr/1.0/src/screenregionmgr.cpp", + "./screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp", + "./screenregionmgr/2.0/src/screenregion.cpp", + "./screenregionmgr/2.0/src/screenregionmgr.cpp", ] deps = [ "${common_path}:distributed_screen_utils", - "${graphicstandard_path}/frameworks/surface:surface", "${services_path}/screenclient:distributed_screen_client", "${services_path}/screentransport/screensinktrans:distributed_screen_sinktrans", ] @@ -68,6 +69,7 @@ ohos_shared_library("distributed_screen_sink") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_receiver", "distributed_hardware_fwk:libdhfwk_sdk", "graphic_standard:libgraphic_utils", "graphic_standard:surface", diff --git a/services/screenservice/sinkservice/dscreenservice/include/dscreen_sink_service.h b/services/screenservice/sinkservice/dscreenservice/include/dscreen_sink_service.h index 21f36d33..876a964f 100644 --- a/services/screenservice/sinkservice/dscreenservice/include/dscreen_sink_service.h +++ b/services/screenservice/sinkservice/dscreenservice/include/dscreen_sink_service.h @@ -21,6 +21,7 @@ #include "dscreen_sink_stub.h" #include "1.0/include/screenregionmgr.h" +#include "2.0/include/screenregionmgr.h" namespace OHOS { namespace DistributedHardware { diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp index 3dc78830..f5359ea0 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp @@ -151,11 +151,11 @@ int32_t ScreenRegion::SetUp(const std::string &content) } std::string codecType; if (videoParam_->GetCodecType() == VIDEO_CODEC_TYPE_VIDEO_H265) { - codecType = MINE_VIDEO_H265; + codecType = MIME_VIDEO_H265; } else if (videoParam_->GetCodecType() == VIDEO_CODEC_TYPE_VIDEO_H264) { - codecType = MINE_VIDEO_H264; + codecType = MIME_VIDEO_H264; } else { - codecType = MINE_VIDEO_RAW; + codecType = MIME_VIDEO_RAW; } std::string pixelFormat; if (videoParam_->GetVideoFormat() == VIDEO_DATA_FORMAT_YUVI420) { diff --git a/services/screenservice/sourceservice/BUILD.gn b/services/screenservice/sourceservice/BUILD.gn index 2073703b..8f1519bf 100644 --- a/services/screenservice/sourceservice/BUILD.gn +++ b/services/screenservice/sourceservice/BUILD.gn @@ -1,4 +1,4 @@ -# Copyright (c) 2023 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 @@ -18,7 +18,6 @@ import( ohos_shared_library("distributed_screen_source") { include_dirs = [ - "${av_transport_path}/common/include", "//third_party/json/include", "//third_party/libjpeg-turbo", "${distributedhardwarefwk_path}/interfaces/inner_kits/include", @@ -53,6 +52,9 @@ ohos_shared_library("distributed_screen_source") { "${services_path}/common/utils/src/video_param.cpp", "./dscreenmgr/1.0/src/dscreen.cpp", "./dscreenmgr/1.0/src/dscreen_manager.cpp", + "./dscreenmgr/2.0/src/av_sender_engine_adapter.cpp", + "./dscreenmgr/2.0/src/dscreen.cpp", + "./dscreenmgr/2.0/src/dscreen_manager.cpp", "./dscreenmgr/common/src/screen_manager_adapter.cpp", "./dscreenservice/src/callback/dscreen_source_callback_proxy.cpp", "./dscreenservice/src/dscreen_source_service.cpp", @@ -72,6 +74,7 @@ ohos_shared_library("distributed_screen_source") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_sender", "distributed_hardware_fwk:libdhfwk_sdk", "graphic_standard:libcomposer", "graphic_standard:surface", 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 c72f3421..4b1bd4ad 100644 --- a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen_manager.cpp @@ -123,7 +123,7 @@ void DScreenManager::HandleScreenChange(const std::shared_ptr &changedS } uint64_t screenId = changedScreen->GetScreenId(); - DHLOGI("DScreenManager::HandleScreenChange, screenId: %u, changeEvent: %", screenId, event); + DHLOGI("DScreenManager::HandleScreenChange, screenId: %u, changeEvent: %u", screenId, event); if (event == Rosen::ScreenGroupChangeEvent::ADD_TO_GROUP) { if (AddToGroup(changedScreen, screenId) != DH_SUCCESS) { DHLOGE("AddToGroup failed."); diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/include/av_sender_engine_adapter.h b/services/screenservice/sourceservice/dscreenmgr/2.0/include/av_sender_engine_adapter.h index 8b43e917..51a92ef8 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/include/av_sender_engine_adapter.h +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/include/av_sender_engine_adapter.h @@ -57,7 +57,7 @@ public: int32_t SetParameter(const AVTransTag &tag, const std::string ¶m); int32_t PushData(const VideoData &video); int32_t SendMessageToRemote(const std::shared_ptr &message); - int32_t CreateControlChannel(const std::string& peerDevId); + int32_t CreateControlChannel(const std::string &peerDevId); int32_t RegisterAdapterCallback(const std::shared_ptr &callback); // interfaces from IAVSenderEngineCallback diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h index 9d0c3d77..dc6cb63b 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h @@ -20,6 +20,7 @@ #include #include #include +#include "sync_fence.h" #include "surface.h" #include "iconsumer_surface.h" @@ -128,6 +129,7 @@ private: std::queue> taskQueue_; bool taskThreadRunning_; std::shared_ptr senderAdapter_; + OHOS::sptr syncFence_ = SyncFence::INVALID_FENCE; }; } // namespace V2_0 } // namespace DistributedHardware diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp index 805b96e7..0619f733 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp @@ -285,12 +285,19 @@ void DScreen::ConsumeSurface() return; } sptr surfaceBuffer = nullptr; - int32_t fence = -1; + syncFence_ = SyncFence::INVALID_FENCE; int64_t timestamp = 0; OHOS::Rect damage = {0, 0, 0, 0}; - SurfaceError surfaceErr = consumerSurface_->AcquireBuffer(surfaceBuffer, fence, timestamp, damage); + SurfaceError surfaceErr = consumerSurface_->AcquireBuffer(surfaceBuffer, syncFence_, timestamp, damage); if (surfaceErr != SURFACE_ERROR_OK) { DHLOGE("consumerSurface_ acquire buffer failed, errcode: %d", surfaceErr); + consumerSurface_->ReleaseBuffer(surfaceBuffer, -1); + return; + } + int32_t retcode = syncFence_->Wait(SURFACE_SYNC_FENCE_TIMEOUT); + if (retcode == -ETIME) { + DHLOGE("%s: Sync fence wait timeout, retcode is %." PRId32, retcode); + consumerSurface_->ReleaseBuffer(surfaceBuffer, -1); return; } uint32_t surBufSize = surfaceBuffer->GetSize(); @@ -368,11 +375,11 @@ int32_t DScreen::StopSenderEngine() void DScreen::ChooseParameter(std::string &codecType, std::string &pixelFormat) { if (videoParam_->GetCodecType() == VIDEO_CODEC_TYPE_VIDEO_H265) { - codecType = MINE_VIDEO_H265; + codecType = MIME_VIDEO_H265; } else if (videoParam_->GetCodecType() == VIDEO_CODEC_TYPE_VIDEO_H264) { - codecType = MINE_VIDEO_H264; + codecType = MIME_VIDEO_H264; } else { - codecType = MINE_VIDEO_RAW; + codecType = MIME_VIDEO_RAW; } if (videoParam_->GetVideoFormat() == VIDEO_DATA_FORMAT_YUVI420) { pixelFormat = VIDEO_FORMAT_YUVI420; diff --git a/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_service.h b/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_service.h index 3fe2abc2..163a8b05 100644 --- a/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_service.h +++ b/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_service.h @@ -20,6 +20,7 @@ #include "ipc_object_stub.h" #include "1.0/include/dscreen_manager.h" +#include "2.0/include/dscreen_manager.h" #include "dscreen_source_stub.h" #include "idscreen_source_callback.h" diff --git a/services/screenservice/test/fuzztest/sourceservice/dscreenmgr/onchange_fuzzer/BUILD.gn b/services/screenservice/test/fuzztest/sourceservice/dscreenmgr/onchange_fuzzer/BUILD.gn index ae9e0976..4ee209e9 100644 --- a/services/screenservice/test/fuzztest/sourceservice/dscreenmgr/onchange_fuzzer/BUILD.gn +++ b/services/screenservice/test/fuzztest/sourceservice/dscreenmgr/onchange_fuzzer/BUILD.gn @@ -23,7 +23,6 @@ ohos_fuzztest("OnChangeFuzzTest") { fuzz_config_file = "${services_path}/screenservice/test/fuzztest/sourceservice/dscreenmgr/onchange_fuzzer" include_dirs = [ - "${av_transport_path}/common/include", "${distributedhardwarefwk_path}/interfaces/inner_kits/include", "${fwk_common_path}/utils/include", "${windowmanager_path}/interfaces/innerkits/wm", @@ -61,6 +60,7 @@ ohos_fuzztest("OnChangeFuzzTest") { ] external_deps = [ + "distributed_hardware_fwk:distributed_av_sender", "graphic_standard:surface", "window_manager:libdm", ] diff --git a/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn b/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn index 188fa070..8426c8f2 100644 --- a/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn +++ b/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn @@ -20,7 +20,6 @@ module_out_path = "distributed_screen/dscreen_sink_service_test" config("module_private_config") { visibility = [ ":*" ] include_dirs = [ - "${av_transport_path}/common/include", "//third_party/json/include", "${fwk_common_path}/utils/include", "${distributedhardwarefwk_path}/interfaces/inner_kits/include", @@ -64,6 +63,7 @@ ohos_unittest("DscreenRegionMgrTest") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_receiver", "graphic_standard:libgraphic_utils", "graphic_standard:surface", "hisysevent_native:libhisysevent", diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn b/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn index 4b31c1eb..0deacdb9 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn @@ -20,12 +20,8 @@ module_out_path = "distributed_screen/DscreenMgrTest" config("module_private_config") { visibility = [ ":*" ] include_dirs = [ - "${av_transport_path}/common/include", "//third_party/json/include", "${driver_path}/interfaces/include", - "${graphicstandard_path}/interfaces/inner_api/surface", - "${graphicstandard_path}/interfaces/inner_api/common", - "${graphicstandard_path}/utils/buffer_handle/export", "${distributedhardwarefwk_path}/interfaces/inner_kits/include", "${distributedhardwarefwk_path}/common/utils/include", "${mediastandard_path}/interfaces/inner_api/native", @@ -72,6 +68,9 @@ ohos_unittest("DscreenMgrTest") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_sender", + "graphic_standard:libcomposer", + "graphic_standard:surface", "graphic_standard:sync_fence", "hdf_core:libhdi", "player_framework:media_client", diff --git a/services/screentransport/screensinktrans/BUILD.gn b/services/screentransport/screensinktrans/BUILD.gn index c6b59a4a..c0cf6d2a 100644 --- a/services/screentransport/screensinktrans/BUILD.gn +++ b/services/screentransport/screensinktrans/BUILD.gn @@ -18,7 +18,6 @@ import( ohos_shared_library("distributed_screen_sinktrans") { include_dirs = [ - "${av_transport_path}/common/include", "//third_party/json/include", "//third_party/libjpeg", "${fwk_common_path}/utils/include", @@ -74,6 +73,7 @@ ohos_shared_library("distributed_screen_sinktrans") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_receiver", "distributed_hardware_fwk:libdhfwk_sdk", "dsoftbus:softbus_client", "graphic_standard:surface", diff --git a/services/screentransport/screensourcetrans/BUILD.gn b/services/screentransport/screensourcetrans/BUILD.gn index bde09a00..6243f2a6 100644 --- a/services/screentransport/screensourcetrans/BUILD.gn +++ b/services/screentransport/screensourcetrans/BUILD.gn @@ -18,7 +18,6 @@ import( ohos_shared_library("distributed_screen_sourcetrans") { include_dirs = [ - "${av_transport_path}/common/include", "//third_party/json/include", "//third_party/libjpeg-turbo", "${fwk_common_path}/utils/include", @@ -73,6 +72,7 @@ ohos_shared_library("distributed_screen_sourcetrans") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_sender", "distributed_hardware_fwk:libdhfwk_sdk", "dsoftbus:softbus_client", "graphic_standard:surface", diff --git a/services/softbusadapter/test/fuzztest/softbusonbytesreceived_fuzzer/BUILD.gn b/services/softbusadapter/test/fuzztest/softbusonbytesreceived_fuzzer/BUILD.gn index da20ac0d..2204e465 100644 --- a/services/softbusadapter/test/fuzztest/softbusonbytesreceived_fuzzer/BUILD.gn +++ b/services/softbusadapter/test/fuzztest/softbusonbytesreceived_fuzzer/BUILD.gn @@ -30,7 +30,6 @@ ohos_fuzztest("SoftbusOnBytesReceivedFuzzTest") { sources = [ "softbusonbytesreceived_fuzzer.cpp" ] include_dirs = [ - "${av_transport_path}/common/include", "${common_path}/include", "${services_path}/common/databuffer/include", "${services_path}/common/screen_channel/include", @@ -46,6 +45,8 @@ ohos_fuzztest("SoftbusOnBytesReceivedFuzzTest") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_receiver", + "distributed_hardware_fwk:libdhfwk_sdk", "dsoftbus:softbus_client", ] diff --git a/services/softbusadapter/test/fuzztest/softbusonmessagereceived_fuzzer/BUILD.gn b/services/softbusadapter/test/fuzztest/softbusonmessagereceived_fuzzer/BUILD.gn index a45d99e4..38c9b989 100644 --- a/services/softbusadapter/test/fuzztest/softbusonmessagereceived_fuzzer/BUILD.gn +++ b/services/softbusadapter/test/fuzztest/softbusonmessagereceived_fuzzer/BUILD.gn @@ -30,7 +30,6 @@ ohos_fuzztest("SoftbusOnMessageReceivedFuzzTest") { sources = [ "softbusonmessagereceived_fuzzer.cpp" ] include_dirs = [ - "${av_transport_path}/common/include", "${common_path}/include", "${services_path}/common/databuffer/include", "${services_path}/common/screen_channel/include", @@ -46,6 +45,8 @@ ohos_fuzztest("SoftbusOnMessageReceivedFuzzTest") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_receiver", + "distributed_hardware_fwk:libdhfwk_sdk", "dsoftbus:softbus_client", ] diff --git a/services/softbusadapter/test/fuzztest/softbusonqosevent_fuzzer/BUILD.gn b/services/softbusadapter/test/fuzztest/softbusonqosevent_fuzzer/BUILD.gn index 89eabc1a..b58af2ee 100644 --- a/services/softbusadapter/test/fuzztest/softbusonqosevent_fuzzer/BUILD.gn +++ b/services/softbusadapter/test/fuzztest/softbusonqosevent_fuzzer/BUILD.gn @@ -31,7 +31,6 @@ ohos_fuzztest("SoftbusOnQosEventFuzzTest") { sources = [ "softbusonqosevent_fuzzer.cpp" ] include_dirs = [ - "${av_transport_path}/common/include", "${common_path}/include", "${services_path}/common/databuffer/include", "${services_path}/common/screen_channel/include", @@ -47,6 +46,8 @@ ohos_fuzztest("SoftbusOnQosEventFuzzTest") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_receiver", + "distributed_hardware_fwk:libdhfwk_sdk", "dsoftbus:softbus_client", ] diff --git a/services/softbusadapter/test/fuzztest/softbusonsessionclosed_fuzzer/BUILD.gn b/services/softbusadapter/test/fuzztest/softbusonsessionclosed_fuzzer/BUILD.gn index 3e155b99..ada1fa0d 100644 --- a/services/softbusadapter/test/fuzztest/softbusonsessionclosed_fuzzer/BUILD.gn +++ b/services/softbusadapter/test/fuzztest/softbusonsessionclosed_fuzzer/BUILD.gn @@ -30,7 +30,6 @@ ohos_fuzztest("SoftbusOnSessionClosedFuzzTest") { sources = [ "softbusonsessionclosed_fuzzer.cpp" ] include_dirs = [ - "${av_transport_path}/common/include", "${common_path}/include", "${services_path}/common/databuffer/include", "${services_path}/common/screen_channel/include", @@ -46,6 +45,8 @@ ohos_fuzztest("SoftbusOnSessionClosedFuzzTest") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_receiver", + "distributed_hardware_fwk:libdhfwk_sdk", "dsoftbus:softbus_client", ] diff --git a/services/softbusadapter/test/fuzztest/softbusonsessionopened_fuzzer/BUILD.gn b/services/softbusadapter/test/fuzztest/softbusonsessionopened_fuzzer/BUILD.gn index 9fe272c7..67ae8698 100644 --- a/services/softbusadapter/test/fuzztest/softbusonsessionopened_fuzzer/BUILD.gn +++ b/services/softbusadapter/test/fuzztest/softbusonsessionopened_fuzzer/BUILD.gn @@ -30,7 +30,6 @@ ohos_fuzztest("SoftbusOnSessionOpenedFuzzTest") { sources = [ "softbusonsessionopened_fuzzer.cpp" ] include_dirs = [ - "${av_transport_path}/common/include", "${common_path}/include", "${services_path}/common/databuffer/include", "${services_path}/common/screen_channel/include", @@ -46,6 +45,8 @@ ohos_fuzztest("SoftbusOnSessionOpenedFuzzTest") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_receiver", + "distributed_hardware_fwk:libdhfwk_sdk", "dsoftbus:softbus_client", ] diff --git a/services/softbusadapter/test/fuzztest/softbusonstreamreceived_fuzzer/BUILD.gn b/services/softbusadapter/test/fuzztest/softbusonstreamreceived_fuzzer/BUILD.gn index 9dab5d47..8c971a6f 100644 --- a/services/softbusadapter/test/fuzztest/softbusonstreamreceived_fuzzer/BUILD.gn +++ b/services/softbusadapter/test/fuzztest/softbusonstreamreceived_fuzzer/BUILD.gn @@ -30,7 +30,6 @@ ohos_fuzztest("SoftbusOnStreamReceivedFuzzTest") { sources = [ "softbusonstreamreceived_fuzzer.cpp" ] include_dirs = [ - "${av_transport_path}/common/include", "${common_path}/include", "${services_path}/common/databuffer/include", "${services_path}/common/screen_channel/include", @@ -46,6 +45,8 @@ ohos_fuzztest("SoftbusOnStreamReceivedFuzzTest") { external_deps = [ "c_utils:utils", + "distributed_hardware_fwk:distributed_av_receiver", + "distributed_hardware_fwk:libdhfwk_sdk", "dsoftbus:softbus_client", ] -- Gitee From d4f105372dd73898acb5385bd97b5f40853ff05d Mon Sep 17 00:00:00 2001 From: yangli Date: Thu, 29 Jun 2023 12:57:19 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= 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 ++- .../src/dscreen_source_service.cpp | 51 +++++++++++++++---- 2 files changed, 49 insertions(+), 10 deletions(-) diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp index 8396dae9..82bc4fd0 100644 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp +++ b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp @@ -69,7 +69,11 @@ bool DScreenSinkService::Init() int32_t DScreenSinkService::InitSink(const std::string ¶ms) { DHLOGI("InitSink"); - (void)params; + DHLOGI("yangli. version_: %s", params.c_str()); + int32_t ret = V2_0::ScreenRegionManager::GetInstance().Initialize(); + if (ret != DH_SUCCESS) { + DHLOGE("Init ScreenRegionManager failed. err: %d", ret); + } return DH_SUCCESS; } @@ -77,6 +81,7 @@ int32_t DScreenSinkService::ReleaseSink() { DHLOGI("ReleaseSink"); V1_0::ScreenRegionManager::GetInstance().ReleaseAllRegions(); + V2_0::ScreenRegionManager::GetInstance().Release(); DHLOGI("exit sink sa process"); auto systemAbilityMgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (systemAbilityMgr == nullptr) { @@ -120,6 +125,7 @@ int32_t DScreenSinkService::Dump(int32_t fd, const std::vector& (void)args; std::string result; V1_0::ScreenRegionManager::GetInstance().GetScreenDumpInfo(result); + V2_0::ScreenRegionManager::GetInstance().GetScreenDumpInfo(result); int ret = dprintf(fd, "%s\n", result.c_str()); if (ret < 0) { DHLOGE("dprintf error"); diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index a307390d..28c42537 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -47,6 +47,7 @@ void DScreenSourceService::OnStop() { DHLOGI("dscreen source service stop."); int32_t ret = V1_0::DScreenManager::GetInstance().UnInit(); + ret = V2_0::DScreenManager::GetInstance().Release(); if (ret != DH_SUCCESS) { DHLOGE("UnInit V1_0::DScreenManager failed. err: %" PRId32, ret); } @@ -82,16 +83,32 @@ int32_t DScreenSourceService::InitSource(const std::string ¶ms, const sptr& args) @@ -161,7 +190,11 @@ int32_t DScreenSourceService::Dump(int32_t fd, const std::vector DHLOGI("DScreenSourceService Dump."); (void)args; std::string result; - V1_0::DScreenManager::GetInstance().GetScreenDumpInfo(result); + if (version_ == "2.0") { + V1_0::DScreenManager::GetInstance().GetScreenDumpInfo(result); + } else if (version_ == "3.0") { + V1_0::DScreenManager::GetInstance().GetScreenDumpInfo(result); + } int ret = dprintf(fd, "%s\n", result.c_str()); if (ret < 0) { DHLOGE("dprintf error"); -- Gitee From dd53bbb5b1fb5007652a4c8e92d502aab0272fec Mon Sep 17 00:00:00 2001 From: yangli Date: Thu, 29 Jun 2023 14:19:50 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- services/common/test/unittest/utils/BUILD.gn | 2 +- .../sinkservice/dscreenservice/src/dscreen_sink_service.cpp | 1 - .../sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp | 1 + .../dscreenservice/src/dscreen_source_service.cpp | 4 ++-- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services/common/test/unittest/utils/BUILD.gn b/services/common/test/unittest/utils/BUILD.gn index d3fec1b5..2cda405c 100644 --- a/services/common/test/unittest/utils/BUILD.gn +++ b/services/common/test/unittest/utils/BUILD.gn @@ -49,9 +49,9 @@ ohos_unittest("UtilsTest") { configs = [ ":module_private_config" ] deps = [ - "${services_path}/screenservice/sinkservice:distributed_screen_sink", "//third_party/googletest:gmock", "//third_party/googletest:gtest_main", + "${services_path}/screenservice/sinkservice:distributed_screen_sink", ] external_deps = [ diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp index 82bc4fd0..70335f51 100644 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp +++ b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp @@ -69,7 +69,6 @@ bool DScreenSinkService::Init() int32_t DScreenSinkService::InitSink(const std::string ¶ms) { DHLOGI("InitSink"); - DHLOGI("yangli. version_: %s", params.c_str()); int32_t ret = V2_0::ScreenRegionManager::GetInstance().Initialize(); if (ret != DH_SUCCESS) { DHLOGE("Init ScreenRegionManager failed. err: %d", ret); diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp index d68b14a9..4d85a5fb 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp @@ -64,6 +64,7 @@ ScreenRegionManager::~ScreenRegionManager() int32_t ScreenRegionManager::Initialize() { + DHLOGI("Inter ScreenRegionManager::Initialize 2.0"); int32_t ret = LoadAVReceiverEngineProvider(); if ((ret != DH_SUCCESS) || (providerPtr_ == nullptr)) { DHLOGE("Load av transport receiver engine provider failed."); diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index 28c42537..fda9628d 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -152,9 +152,9 @@ int32_t DScreenSourceService::UnregisterDistributedHardware(const std::string &d { int ret = -1; if (version_ == "2.0") { - ret = V1_0::DScreenManager::GetInstance().DisableDistributedScreen(devId, dhId, reqId); + ret = V1_0::DScreenManager::GetInstance().DisableDistributedScreen(devId, dhId, reqId); } else if (version_ == "3.0") { - ret = V2_0::DScreenManager::GetInstance().DisableDistributedScreen(devId, dhId, reqId); + ret = V2_0::DScreenManager::GetInstance().DisableDistributedScreen(devId, dhId, reqId); } if (ret != DH_SUCCESS) { DHLOGE("disable distributedScreen failed. devId: %s, dhId: %s, reqId: %s", -- Gitee From f576363178d421c6083eeacd0a80c0b8cfcd524e Mon Sep 17 00:00:00 2001 From: yangli Date: Thu, 29 Jun 2023 14:44:05 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp index 4d85a5fb..05d755d1 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregionmgr.cpp @@ -64,7 +64,7 @@ ScreenRegionManager::~ScreenRegionManager() int32_t ScreenRegionManager::Initialize() { - DHLOGI("Inter ScreenRegionManager::Initialize 2.0"); + DHLOGI("Inter ScreenRegionManager::Initialize 2.0"); int32_t ret = LoadAVReceiverEngineProvider(); if ((ret != DH_SUCCESS) || (providerPtr_ == nullptr)) { DHLOGE("Load av transport receiver engine provider failed."); -- Gitee From c2be40ff0d879e31513d86be9f5c948c068bb5b3 Mon Sep 17 00:00:00 2001 From: yangli Date: Thu, 29 Jun 2023 15:02:16 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- services/common/test/unittest/utils/BUILD.gn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/common/test/unittest/utils/BUILD.gn b/services/common/test/unittest/utils/BUILD.gn index 2cda405c..b83013b8 100644 --- a/services/common/test/unittest/utils/BUILD.gn +++ b/services/common/test/unittest/utils/BUILD.gn @@ -49,12 +49,12 @@ ohos_unittest("UtilsTest") { configs = [ ":module_private_config" ] deps = [ + "${services_path}/screenservice/sinkservice:distributed_screen_sink", "//third_party/googletest:gmock", "//third_party/googletest:gtest_main", - "${services_path}/screenservice/sinkservice:distributed_screen_sink", ] - external_deps = [ + external_deps = [ "distributed_hardware_fwk:distributed_av_sender", "distributed_hardware_fwk:libdhfwk_sdk", ] -- Gitee From c99b5ffcb2abf562705e161c2bb52227f605bc57 Mon Sep 17 00:00:00 2001 From: yangli Date: Thu, 29 Jun 2023 16:02:32 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../dscreenservice/src/dscreen_source_service.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index fda9628d..e80f1fc0 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -129,10 +129,10 @@ int32_t DScreenSourceService::RegisterDistributedHardware(const std::string &dev const EnableParam ¶m, const std::string &reqId) { std::string attrs = param.attrs; - std::string version = param.version; + version_ = param.version; int ret = -1; if (version_ == "2.0") { - V1_0::DScreenManager::GetInstance().SetScreenVersion(version); + V1_0::DScreenManager::GetInstance().SetScreenVersion(version_); ret = V1_0::DScreenManager::GetInstance().EnableDistributedScreen(devId, dhId, attrs, reqId); } else if (version_ == "3.0") { ret = V2_0::DScreenManager::GetInstance().EnableDistributedScreen(devId, dhId, attrs, reqId); -- Gitee From 81d5f5fe1a4fff55dccc0a42b2d50bc3b4cbfd1e Mon Sep 17 00:00:00 2001 From: yangli Date: Thu, 29 Jun 2023 20:13:41 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../src/dscreen_sink_service.cpp | 20 ++++++++--- .../src/dscreen_source_service.cpp | 33 +++++++++++-------- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp index 70335f51..ee43bb3b 100644 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp +++ b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp @@ -69,6 +69,8 @@ bool DScreenSinkService::Init() int32_t DScreenSinkService::InitSink(const std::string ¶ms) { DHLOGI("InitSink"); + version_ = params; + DHLOGI("InitSink params: %s, version_: %s", params.c_str(), version_.c_str()); int32_t ret = V2_0::ScreenRegionManager::GetInstance().Initialize(); if (ret != DH_SUCCESS) { DHLOGE("Init ScreenRegionManager failed. err: %d", ret); @@ -79,8 +81,11 @@ int32_t DScreenSinkService::InitSink(const std::string ¶ms) int32_t DScreenSinkService::ReleaseSink() { DHLOGI("ReleaseSink"); - V1_0::ScreenRegionManager::GetInstance().ReleaseAllRegions(); - V2_0::ScreenRegionManager::GetInstance().Release(); + if (version_ == "2.0") { + V1_0::ScreenRegionManager::GetInstance().ReleaseAllRegions(); + } else if (version_ == "3.0") { + V2_0::ScreenRegionManager::GetInstance().Release(); + } DHLOGI("exit sink sa process"); auto systemAbilityMgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (systemAbilityMgr == nullptr) { @@ -115,7 +120,9 @@ void DScreenSinkService::DScreenNotify(const std::string &devId, int32_t eventCo { DHLOGI("DScreenNotify, devId:%s, eventCode: %" PRId32 ", eventContent:%s", GetAnonyString(devId).c_str(), eventCode, eventContent.c_str()); - V1_0::ScreenRegionManager::GetInstance().HandleDScreenNotify(devId, eventCode, eventContent); + if (version == "2.0") { + V1_0::ScreenRegionManager::GetInstance().HandleDScreenNotify(devId, eventCode, eventContent); + } } int32_t DScreenSinkService::Dump(int32_t fd, const std::vector& args) @@ -123,8 +130,11 @@ int32_t DScreenSinkService::Dump(int32_t fd, const std::vector& DHLOGI("DScreenSinkService Dump."); (void)args; std::string result; - V1_0::ScreenRegionManager::GetInstance().GetScreenDumpInfo(result); - V2_0::ScreenRegionManager::GetInstance().GetScreenDumpInfo(result); + if (version_ == "2.0") { + V1_0::ScreenRegionManager::GetInstance().GetScreenDumpInfo(result); + } else if (version_ == "3.0") { + V2_0::ScreenRegionManager::GetInstance().GetScreenDumpInfo(result); + } int ret = dprintf(fd, "%s\n", result.c_str()); if (ret < 0) { DHLOGE("dprintf error"); diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index e80f1fc0..332d2d9c 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -76,20 +76,24 @@ int32_t DScreenSourceService::InitSource(const std::string ¶ms, const sptr if (version_ == "2.0") { V1_0::DScreenManager::GetInstance().GetScreenDumpInfo(result); } else if (version_ == "3.0") { - V1_0::DScreenManager::GetInstance().GetScreenDumpInfo(result); + V2_0::DScreenManager::GetInstance().GetScreenDumpInfo(result); } int ret = dprintf(fd, "%s\n", result.c_str()); if (ret < 0) { -- Gitee From 0c5d054dc6b9dad632932549cf3cf52400418ef1 Mon Sep 17 00:00:00 2001 From: yangli Date: Fri, 30 Jun 2023 09:01:33 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../dscreenservice/src/dscreen_sink_service.cpp | 10 ++++++---- .../dscreenservice/src/dscreen_source_service.cpp | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp index ee43bb3b..24ab9996 100644 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp +++ b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp @@ -71,9 +71,11 @@ int32_t DScreenSinkService::InitSink(const std::string ¶ms) DHLOGI("InitSink"); version_ = params; DHLOGI("InitSink params: %s, version_: %s", params.c_str(), version_.c_str()); - int32_t ret = V2_0::ScreenRegionManager::GetInstance().Initialize(); - if (ret != DH_SUCCESS) { - DHLOGE("Init ScreenRegionManager failed. err: %d", ret); + if(version_ == "3.0") { + int32_t ret = V2_0::ScreenRegionManager::GetInstance().Initialize(); + if (ret != DH_SUCCESS) { + DHLOGE("Init ScreenRegionManager3.0 failed. err: %d", ret); + } } return DH_SUCCESS; } @@ -120,7 +122,7 @@ void DScreenSinkService::DScreenNotify(const std::string &devId, int32_t eventCo { DHLOGI("DScreenNotify, devId:%s, eventCode: %" PRId32 ", eventContent:%s", GetAnonyString(devId).c_str(), eventCode, eventContent.c_str()); - if (version == "2.0") { + if (version_ == "2.0") { V1_0::ScreenRegionManager::GetInstance().HandleDScreenNotify(devId, eventCode, eventContent); } } diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index 332d2d9c..d73c9a2a 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -87,7 +87,7 @@ int32_t DScreenSourceService::InitSource(const std::string ¶ms, const sptr Date: Fri, 30 Jun 2023 09:08:31 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 d73c9a2a..77884c95 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -87,7 +87,7 @@ int32_t DScreenSourceService::InitSource(const std::string ¶ms, const sptr Date: Fri, 30 Jun 2023 09:18:13 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../dscreenservice/src/dscreen_source_service.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index 77884c95..96024f1e 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -46,8 +46,12 @@ void DScreenSourceService::OnStart() void DScreenSourceService::OnStop() { DHLOGI("dscreen source service stop."); - int32_t ret = V1_0::DScreenManager::GetInstance().UnInit(); - ret = V2_0::DScreenManager::GetInstance().Release(); + int32_t ret = -1; + if (version_ == "2.0") { + ret = V1_0::DScreenManager::GetInstance().UnInit(); + } else if (version_ == "3.0") { + ret = V2_0::DScreenManager::GetInstance().Release(); + } if (ret != DH_SUCCESS) { DHLOGE("UnInit V1_0::DScreenManager failed. err: %" PRId32, ret); } -- Gitee From 6db36b544de1956f2b3dc3fe6966334fd18e4ebf Mon Sep 17 00:00:00 2001 From: yangli Date: Fri, 30 Jun 2023 10:54:23 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../sinkservice/dscreenservice/src/dscreen_sink_service.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp index 24ab9996..28f379de 100644 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp +++ b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp @@ -71,7 +71,7 @@ int32_t DScreenSinkService::InitSink(const std::string ¶ms) DHLOGI("InitSink"); version_ = params; DHLOGI("InitSink params: %s, version_: %s", params.c_str(), version_.c_str()); - if(version_ == "3.0") { + if (version_ == "3.0") { int32_t ret = V2_0::ScreenRegionManager::GetInstance().Initialize(); if (ret != DH_SUCCESS) { DHLOGE("Init ScreenRegionManager3.0 failed. err: %d", ret); -- Gitee