diff --git a/bundle.json b/bundle.json index 9b9190cb7b465277db4a990c18391f3dff10bbbe..9af1d0e8b270a73b7c1fcb5ded3b66c3ac772730 100644 --- a/bundle.json +++ b/bundle.json @@ -42,6 +42,7 @@ "safwk", "hicollie", "hitrace", + "cJSON", "c_utils", "window_manager", "distributed_hardware_fwk", diff --git a/services/screenservice/sinkservice/BUILD.gn b/services/screenservice/sinkservice/BUILD.gn index 3dfa9c084e6d010a43d68acc44bc0a5fd32aa4e4..e6b197e55fbeaa02c6232c9e834f09ef31cb6871 100644 --- a/services/screenservice/sinkservice/BUILD.gn +++ b/services/screenservice/sinkservice/BUILD.gn @@ -79,6 +79,7 @@ ohos_shared_library("distributed_screen_sink") { "access_token:libaccesstoken_sdk", "access_token:libtokenid_sdk", "av_codec:av_codec_client", + "cJSON:cjson", "c_utils:utils", "distributed_hardware_fwk:distributed_av_receiver", "distributed_hardware_fwk:distributedhardwareutils", diff --git a/services/screenservice/sourceservice/BUILD.gn b/services/screenservice/sourceservice/BUILD.gn index c07ad19276a8bef83b1fe23534a2463d3e872db1..d19e70a5a50eb1b978b2ba79203a83669094f859 100644 --- a/services/screenservice/sourceservice/BUILD.gn +++ b/services/screenservice/sourceservice/BUILD.gn @@ -83,6 +83,7 @@ ohos_shared_library("distributed_screen_source") { "access_token:libaccesstoken_sdk", "access_token:libtokenid_sdk", "av_codec:av_codec_client", + "cJSON:cjson", "c_utils:utils", "distributed_hardware_fwk:distributed_av_sender", "distributed_hardware_fwk:distributedhardwareutils", diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp index 63af917fc2d8639392455cd5ce63d15103c1faf9..fa20fc15b6abde6a9f5bd9b5dd5b500e090b6ccf 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Copyright (c) 2022-2024 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 @@ -31,6 +31,7 @@ #include "dscreen_util.h" #include "xcollie/watchdog.h" #include "common/include/screen_manager_adapter.h" +#include "cJSON.h" namespace OHOS { namespace DistributedHardware { @@ -523,8 +524,8 @@ int32_t DScreen::WaitForSinkStarted() int32_t DScreen::NegotiateCodecType(const std::string &rmtDecoderStr) { DHLOGI("Start NegotiateCodecType, remote decoder: %{public}s", rmtDecoderStr.c_str()); - json rmtDecoderJson = json::parse(rmtDecoderStr, nullptr, false); - if (rmtDecoderJson.is_discarded()) { + cJSON *rmtDecoderJson = cJSON_Parse(rmtDecoderStr.c_str()); + if (rmtDecoderJson == nullptr) { DHLOGE("remote Decoder Json is invalid."); return ERR_DH_SCREEN_SA_DSCREEN_NEGOTIATE_CODEC_FAIL; } @@ -545,8 +546,8 @@ int32_t DScreen::NegotiateCodecType(const std::string &rmtDecoderStr) } DHLOGI("DScreen Negotiate QueryVideoEncoderAbility info: %{public}s", localVideoEncodersJsonStr.c_str()); - json localVideoEncodersJson = json::parse(localVideoEncodersJsonStr, nullptr, false); - if (localVideoEncodersJson.is_discarded()) { + cJSON *localVideoEncodersJson = cJSON_Parse(localVideoEncodersJsonStr.c_str()); + if (localVideoEncodersJson == nullptr) { DHLOGE("localVideoEncodersJson is invalid."); return ERR_DH_SCREEN_SA_DSCREEN_NEGOTIATE_CODEC_FAIL; } diff --git a/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn b/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn index 59b6980d74986358d4f26d1239a562eeda6a975c..19d07043de4633bad9a4c156c66ad5b0eb5148b8 100644 --- a/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn +++ b/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn @@ -70,6 +70,7 @@ ohos_unittest("DscreenRegionMgrTest") { external_deps = [ "av_codec:av_codec_client", + "cJSON:cjson", "c_utils:utils", "distributed_hardware_fwk:distributed_av_receiver", "distributed_hardware_fwk:distributedhardwareutils", diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn b/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn index 0d99021413ff4d0ee93e66a59cfaf11e3b80340b..82b5ffeba2e883cba27e87fe9df9b684632cf387 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn @@ -74,6 +74,7 @@ ohos_unittest("DscreenMgrTest") { "access_token:libnativetoken", "access_token:libtoken_setproc", "av_codec:av_codec_client", + "cJSON:cjson", "c_utils:utils", "distributed_hardware_fwk:distributed_av_sender", "distributed_hardware_fwk:distributedhardwareutils",