diff --git a/common/include/dscreen_util.h b/common/include/dscreen_util.h index 8b113e525815b1c1cb1dbb4e8f9144fad7d3fa29..aea24399c639e55bb85431c9c9f837ed4c448758 100644 --- a/common/include/dscreen_util.h +++ b/common/include/dscreen_util.h @@ -23,6 +23,7 @@ namespace DistributedHardware { int32_t GetLocalDeviceNetworkId(std::string &networkId); std::string GetRandomID(); std::string GetAnonyString(const std::string &value); +std::string GetInterruptString(const std::string &value); } // namespace DistributedHardware } // namespace OHOS #endif \ No newline at end of file diff --git a/common/src/dscreen_util.cpp b/common/src/dscreen_util.cpp index 974e92be9de08528ac38dfe4f972dc995c16d85e..bd380199566bc6e72188846676db07f042dae873 100644 --- a/common/src/dscreen_util.cpp +++ b/common/src/dscreen_util.cpp @@ -94,5 +94,20 @@ std::string GetAnonyString(const std::string &value) return res; } + +std::string GetInterruptString(const std::string &value) +{ + constexpr size_t INT32_MIN_ID_LENGTH = 3; + constexpr size_t STRING_HALF_LENGTH = 2; + std::string res; + size_t strlen = value.length(); + if (strlen <= INT32_MIN_ID_LENGTH) { + res = value; + } else { + res = value.substr(0, strlen / STRING_HALF_LENGTH); + } + + return res; +} } // namespace DistributedHardware } // namespace OHOS \ No newline at end of file diff --git a/services/screendemo/decoder_demo.cpp b/services/screendemo/decoder_demo.cpp index 90242d37f86a9d474ba889557e8c8bd99dbc0dc7..2d8cf6000a98e33bf19ecae13f66266caf61052d 100644 --- a/services/screendemo/decoder_demo.cpp +++ b/services/screendemo/decoder_demo.cpp @@ -62,12 +62,9 @@ using namespace OHOS; using namespace OHOS::Media; using namespace std; namespace { - constexpr uint32_t DEFAULT_WIDTH = 480; - constexpr uint32_t DEFAULT_HEIGHT = 360; constexpr uint32_t DEFAULT_FRAME_RATE = 30; constexpr uint32_t MAX_INPUT_BUFFER_SIZE = 30000; constexpr uint32_t FRAME_DURATION_US = 33000; - constexpr uint32_t DEFAULT_FRAME_COUNT = 1; constexpr uint32_t VIDEO_DATA_FORMAT_NV12 = 2; constexpr uint32_t VIDEO_DATA_FORMAT_RGBA = 5; constexpr uint32_t SLEEP_THREE_SECOND = 3; @@ -81,8 +78,8 @@ void VDecDemo::RunCase() CheckCodecType(); CreateVdec(); Format format; - format.PutIntValue("width", DEFAULT_WIDTH); - format.PutIntValue("height", DEFAULT_HEIGHT); + format.PutIntValue("width", width_); + format.PutIntValue("height", height_); if (isW) { format.PutIntValue("pixel_format", VIDEO_DATA_FORMAT_NV12); } else { @@ -217,11 +214,12 @@ const int32_t* VDecDemo::GetFrameLen() const int32_t* frameLen = nullptr; if (isW) { frameLen = ES_W; - return frameLen; + defaultFrameCount_ = sizeof(ES_W)/sizeof(ES_W[0]); } else { frameLen = ES_R; - return frameLen; + defaultFrameCount_ = sizeof(ES_R)/sizeof(ES_R[0]); } + return frameLen; } void VDecDemo::InputFunc() @@ -274,7 +272,7 @@ void VDecDemo::InputFunc() signal_->inQueue_.pop(); frameCount_++; - if (frameCount_ == DEFAULT_FRAME_COUNT) { + if (frameCount_ == defaultFrameCount_) { cout << "Finish decode, exit" << endl; break; } diff --git a/services/screendemo/decoder_demo.h b/services/screendemo/decoder_demo.h index a9ca47c1f7e060a35cb753da3e4726f11cb00b3c..01f83f5ca537ea4dc6146fb3044ddd6b200fdd2a 100644 --- a/services/screendemo/decoder_demo.h +++ b/services/screendemo/decoder_demo.h @@ -88,6 +88,7 @@ private: bool isW = true; int64_t timeStamp_ = 0; uint32_t frameCount_ = 0; + uint32_t defaultFrameCount_ = 0; }; } // namespace Media } // namespace OHOS diff --git a/services/screendemo/test.cpp b/services/screendemo/test.cpp index 522aaec01719d72d53ce2e7b676211289e220f23..5d07ccefd8dbbc89c23d7ad6ad218f6f189979f8 100644 --- a/services/screendemo/test.cpp +++ b/services/screendemo/test.cpp @@ -19,6 +19,7 @@ #include "display_manager.h" #include "dscreen_source_handler.h" #include "dscreen_sink_handler.h" +#include "dscreen_util.h" #include "idistributed_hardware_sink.h" #include "idistributed_hardware_source.h" #include "screen.h" @@ -65,7 +66,7 @@ vector> QueryRemoteScreenInfo() } cout << endl; cout << "--------screen id " << screen->GetId() << "---------" << endl; - cout << "screen name: " << screen->GetName() << endl; + cout << "screen name: " << GetAnonyString(screen->GetName()).c_str() << endl; cout << "width: " << screen->GetWidth() << endl; cout << "height: " << screen->GetHeight() << endl; cout << "-------------------------------------------" << endl; @@ -220,20 +221,20 @@ static void PrintNodeProperty(NodeBasicInfo *nodeInfo) } printf("DeviceName = %s\n", nodeInfo->deviceName); - printf("NetworkId = %s\n", nodeInfo->networkId); + printf("NetworkId = %s\n", GetAnonyString(nodeInfo->networkId).c_str()); NodeDeviceInfoKey key = NODE_KEY_UDID; unsigned char udid[UDID_BUF_LEN] = {0}; if (GetNodeKeyInfo(g_pkgName, nodeInfo->networkId, key, udid, UDID_BUF_LEN) != 0) { printf("GetNodeKeyInfo Fail!\n"); } else { - printf("Udid = %s\n", udid); + printf("Udid = %s\n", GetAnonyString((char *)udid).c_str()); } key = NODE_KEY_UUID; unsigned char uuid[UUID_BUF_LEN] = {0}; if (GetNodeKeyInfo(g_pkgName, nodeInfo->networkId, key, uuid, UUID_BUF_LEN) != 0) { printf("GetNodeKeyInfo Fail!\n"); } else { - printf("Uuid = %s\n", uuid); + printf("Uuid = %s\n", GetAnonyString((char *)uuid).c_str()); } } diff --git a/services/screenservice/sourceservice/dscreenmgr/src/screen_manager_adapter.cpp b/services/screenservice/sourceservice/dscreenmgr/src/screen_manager_adapter.cpp index b3f4c0a33b1f0c8d7abe25d0d2e032e9ee11b2a9..e61d3bea56a167cc23f178153ab541786bdc86f0 100644 --- a/services/screenservice/sourceservice/dscreenmgr/src/screen_manager_adapter.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/src/screen_manager_adapter.cpp @@ -25,6 +25,7 @@ #include "dscreen_constants.h" #include "dscreen_errcode.h" #include "dscreen_log.h" +#include "dscreen_util.h" namespace OHOS { namespace DistributedHardware { @@ -40,7 +41,8 @@ uint64_t ScreenMgrAdapter::CreateVirtualScreen(const std::string &devId, const s { DHLOGI("CreateVirtualScreen, width: %u, height: %u", videoParam->GetScreenWidth(), videoParam->GetScreenHeight()); - std::string screenName = DSCREEN_PREFIX + SEPERATOR + devId + SEPERATOR + dhId; + std::string screenName = DSCREEN_PREFIX + SEPERATOR + GetInterruptString(devId) + + SEPERATOR + GetInterruptString(dhId); auto iter = screenIdMap_.find(screenName); if (iter != screenIdMap_.end()) { DHLOGI("remove an exist virtual screen.");