From d827804abbc09ed649c4dc7669a14d3d4929c423 Mon Sep 17 00:00:00 2001 From: byndyx Date: Thu, 28 Sep 2023 20:04:21 +0800 Subject: [PATCH 1/6] pre commit Signed-off-by: byndyx --- .../2.0/src/av_receiver_engine_adapter.cpp | 13 ++++++++ .../2.0/src/av_sender_engine_adapter.cpp | 14 +++++++- .../dscreenmgr/2.0/src/dscreen.cpp | 10 +++--- .../include/dscreen_source_hidumper.h | 8 +++++ .../src/dscreen_source_hidumper.cpp | 32 +++++++++++++++++++ 5 files changed, 72 insertions(+), 5 deletions(-) diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp index ee759a0d..8c8992f6 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp @@ -22,6 +22,7 @@ #include "dscreen_errcode.h" #include "dscreen_log.h" #include "dscreen_util.h" +#include "dscreen_sink_hidumper.h" namespace OHOS { namespace DistributedHardware { @@ -162,6 +163,18 @@ int32_t AVTransReceiverAdapter::OnDataAvailable(const std::shared_ptrOnEngineDataDone(buffer); +#ifdef DUMP_DSCREENREGION_FILE + if(DscreenSinkHidumper::GetInstance().GetTansDumpFlag() == true) { + receiverEngine_->StartDumpMediaData(); + DHLOGI("send dump to trans done"); + DscreenSinkHidumper::GetInstance().SetTansDumpFlagFalse(); + } + if(DscreenSinkHidumper::GetInstance().GetTansReDumpFlag() == true) { + receiverEngine_->ReStartDumpMediaData(); + DHLOGI("send redump to trans done"); + DscreenSinkHidumper::GetInstance().SetTansReDumpFlagFalse(); + } +#endif } return DH_AVT_SUCCESS; } diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp index 95b8eb0c..7375c0f6 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp @@ -18,6 +18,7 @@ #include "dscreen_errcode.h" #include "dscreen_log.h" #include "dscreen_util.h" +#include "dscreen_source_hidumper.h" namespace OHOS { namespace DistributedHardware { @@ -154,7 +155,18 @@ int32_t AVTransSenderAdapter::PushData(const VideoData &video) bufferMata->SetMetaItem(AVTransTag::VIDEO_HEIGHT, std::to_string(video.height)); bufferMata->SetMetaItem(AVTransTag::VIDEO_PIXEL_FORMAT, video.format); bufferMata->SetMetaItem(AVTransTag::PRE_TIMESTAMP, std::to_string(video.timestamp)); - +#ifdef DUMP_DSCREEN_FILE + if(DscreenSourceHidumper::GetInstance().GetTansReDumpFlag() == true) { + senderEngine_->StartDumpMediaData(); + DHLOGI("send dump to trans done"); + DscreenSourceHidumper::GetInstance().SetTansReDumpFlagFalse(); + } + if(DscreenSourceHidumper::GetInstance().GetTansReDumpFlag() == true) { + senderEngine_->ReStartDumpMediaData(); + DHLOGI("send redump to trans done"); + DscreenSourceHidumper::GetInstance().SetTansReDumpFlagFalse(); + } +#endif int32_t ret = senderEngine_->PushData(transBuffer); if (ret != DH_AVT_SUCCESS) { DHLOGE("feed data to av transport sender failed, ret:%" PRId32, ret); diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp index afca2ca3..fd6204b7 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp @@ -353,10 +353,12 @@ void DScreen::SaveFile(std::string file, const VideoData &video) } DHLOGE("open Hidumper SaveFile file success."); ofs.seekp(0, std::ios::end); - uint32_t fileSize = ofs.tellp(); - DHLOGE("fileSize = %d, video.size = %d, maxsize = %d", fileSize, video.size, - DUMP_FILE_MAX_SIZE); - if ((fileSize + video.size) < DUMP_FILE_MAX_SIZE) { + int32_t fileSize = ofs.tellp(); + if (fileSize < 0) { + DHLOGE("filesize get err"); + filesize = 0; + } + if ((static_castfileSize + video.size) < DUMP_FILE_MAX_SIZE) { DscreenSourceHidumper::GetInstance().SetFileFlagFalse(); ofs.write((const char *)(video.data), video.size); } else { diff --git a/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_hidumper.h b/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_hidumper.h index e5c28d55..7a225d8d 100644 --- a/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_hidumper.h +++ b/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_hidumper.h @@ -48,6 +48,12 @@ public: void SetFileFlagTrue(); void SetReDumpFlagFalse(); void SetReDumpFlagTrue(); + bool GetTansDumpFlag(); + bool GetTansReDumpFlag(); + void SetTansDumpFlagFalse(); + void SetTansDumpFlagTrue(); + void SetTansReDumpFlagFalse(); + void SetTansReDumpFlagTrue(); DscreenSourceHidumper(); ~DscreenSourceHidumper(); @@ -63,6 +69,8 @@ private: bool HidumperFlag_ = false; bool FileFullFlag_ = false; bool ReDumpFlag_ = false; + bool tansDumpFlag_ = false; + bool tansReDumpFlag_ = false; }; } // namespace DistributedHardware } // namespace OHOS diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_hidumper.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_hidumper.cpp index 77d60ec1..cb982f3c 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_hidumper.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_hidumper.cpp @@ -111,6 +111,7 @@ int32_t DscreenSourceHidumper::DumpScreenData(std::string &result) if (FileFullFlag_ == false) { result.append("Dump..."); HidumperFlag_ = true; + SetTansDumpFlagTrue(); } else { result.append("File oversize 300M : stop dump, use parameter \"--redump\" to clear dumpfile and redump"); } @@ -132,6 +133,7 @@ int32_t DscreenSourceHidumper::ReDumpScreenData(std::string &result) SetReDumpFlagTrue(); result.append("ReDumpStart..."); HidumperFlag_ = true; + SetTansReDumpFlagTrue(); return DH_SUCCESS; } @@ -175,6 +177,36 @@ void DscreenSourceHidumper::SetReDumpFlagTrue() ReDumpFlag_ = true; } +bool DscreenSourceHidumper::GetTansDumpFlag() +{ + return tansDumpFlag_; +} + +bool DscreenSourceHidumper::GetTansReDumpFlag() +{ + return tansReDumpFlag_; +} + +void DscreenSourceHidumper::SetTansDumpFlagFalse() +{ + tansDumpFlag_ = false; +} + +void DscreenSourceHidumper::SetTansDumpFlagTrue() +{ + tansDumpFlag_ = true; +} + +void DscreenSourceHidumper::SetTansReDumpFlagFalse() +{ + tansReDumpFlag_ = false; +} + +void DscreenSourceHidumper::SetTansReDumpFlagTrue() +{ + tansReDumpFlag_ = true; +} + void DscreenSourceHidumper::ShowHelp(std::string &result) { DHLOGI("Show help."); -- Gitee From 3c46c33c041c0f7d9ad994dbb1ba2978829dc840 Mon Sep 17 00:00:00 2001 From: byndyx Date: Thu, 5 Oct 2023 16:05:48 +0800 Subject: [PATCH 2/6] add avtrans dumper Signed-off-by: byndyx --- .../utils/include/dscreen_hidumper.h} | 36 ++-- .../utils/src/dscreen_hidumper.cpp} | 137 +++++++----- services/screenservice/sinkservice/BUILD.gn | 4 +- .../src/dscreen_sink_hidumper.cpp | 197 ------------------ .../src/dscreen_sink_service.cpp | 4 +- .../2.0/include/screenregion.h | 1 - .../2.0/src/av_receiver_engine_adapter.cpp | 24 +-- .../screenregionmgr/2.0/src/screenregion.cpp | 38 +--- services/screenservice/sourceservice/BUILD.gn | 2 +- .../dscreenmgr/2.0/include/dscreen.h | 1 - .../2.0/src/av_sender_engine_adapter.cpp | 10 +- .../dscreenmgr/2.0/src/dscreen.cpp | 40 +--- .../include/dscreen_source_hidumper.h | 77 ------- .../src/dscreen_source_service.cpp | 4 +- 14 files changed, 139 insertions(+), 436 deletions(-) rename services/{screenservice/sinkservice/dscreenservice/include/dscreen_sink_hidumper.h => common/utils/include/dscreen_hidumper.h} (64%) rename services/{screenservice/sourceservice/dscreenservice/src/dscreen_source_hidumper.cpp => common/utils/src/dscreen_hidumper.cpp} (52%) delete mode 100644 services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_hidumper.cpp delete mode 100644 services/screenservice/sourceservice/dscreenservice/include/dscreen_source_hidumper.h diff --git a/services/screenservice/sinkservice/dscreenservice/include/dscreen_sink_hidumper.h b/services/common/utils/include/dscreen_hidumper.h similarity index 64% rename from services/screenservice/sinkservice/dscreenservice/include/dscreen_sink_hidumper.h rename to services/common/utils/include/dscreen_hidumper.h index 0cd16e01..d8f21eeb 100644 --- a/services/screenservice/sinkservice/dscreenservice/include/dscreen_sink_hidumper.h +++ b/services/common/utils/include/dscreen_hidumper.h @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -13,8 +13,8 @@ * limitations under the License. */ -#ifndef OHOS_DISTRIBUTED_SCREEN_SINK_HIDUMPER_H -#define OHOS_DISTRIBUTED_SCREEN_SINK_HIDUMPER_H +#ifndef OHOS_DISTRIBUTED_SCREEN_HIDUMPER_H +#define OHOS_DISTRIBUTED_SCREEN_HIDUMPER_H #include #include @@ -25,18 +25,19 @@ #include #include "single_instance.h" +#include "dscreen_constants.h" namespace OHOS { namespace DistributedHardware { enum class HidumpFlag { UNKNOWN = 0, GET_HELP, - DUMP_SINK_SCREEN_DATA, - DUMP_SINK_SCREEN_DATA_RESTART, + DUMP_SCREEN_DATA, + DUMP_SCREEN_DATA_RESTART, }; -class DscreenSinkHidumper { - DECLARE_SINGLE_INSTANCE_BASE(DscreenSinkHidumper); +class DscreenHidumper { + DECLARE_SINGLE_INSTANCE_BASE(DscreenHidumper); public: bool Dump(const std::vector &args, std::string &result); @@ -48,8 +49,15 @@ public: void SetFileFlagTrue(); void SetReDumpFlagFalse(); void SetReDumpFlagTrue(); - DscreenSinkHidumper(); - ~DscreenSinkHidumper(); + bool GetTransDumpFlag(); + bool GetTransReDumpFlag(); + void SetTransDumpFlagFalse(); + void SetTransDumpFlagTrue(); + void SetTransReDumpFlagFalse(); + void SetTransReDumpFlagTrue(); + void SaveFile(std::string file, const VideoData &video); + DscreenHidumper(); + ~DscreenHidumper(); private: void ShowHelp(std::string &result); @@ -60,10 +68,12 @@ private: int32_t ReDumpScreenData(std::string &result); private: - bool HidumperFlag_ = false; - bool FileFullFlag_ = false; - bool ReDumpFlag_ = false; + bool hidumperFlag_ = false; + bool fileFullFlag_ = false; + bool reDumpFlag_ = false; + bool transDumpFlag_ = false; + bool transReDumpFlag_ = false; }; } // namespace DistributedHardware } // namespace OHOS -#endif // OHOS_DISTRIBUTED_SCREEN_SINK_HIDUMPER_H \ No newline at end of file +#endif // OHOS_DISTRIBUTED_SCREEN_HIDUMPER_H \ No newline at end of file diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_hidumper.cpp b/services/common/utils/src/dscreen_hidumper.cpp similarity index 52% rename from services/screenservice/sourceservice/dscreenservice/src/dscreen_source_hidumper.cpp rename to services/common/utils/src/dscreen_hidumper.cpp index cb982f3c..fdd266c9 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_hidumper.cpp +++ b/services/common/utils/src/dscreen_hidumper.cpp @@ -13,43 +13,42 @@ * limitations under the License. */ -#include "dscreen_source_hidumper.h" +#include "dscreen_hidumper.h" -#include "dscreen_constants.h" #include "dscreen_errcode.h" #include "dscreen_log.h" #include "dscreen_util.h" #undef DH_LOG_TAG -#define DH_LOG_TAG "DscreenSourceHidumper" +#define DH_LOG_TAG "DscreenHidumper" namespace OHOS { namespace DistributedHardware { -IMPLEMENT_SINGLE_INSTANCE(DscreenSourceHidumper); +IMPLEMENT_SINGLE_INSTANCE(DscreenHidumper); namespace { const std::string ARGS_HELP = "-h"; -const std::string ARGS_DUMP_SOURCE_SCREEN_DATA = "--dump"; -const std::string ARGS_DUMP_SOURCE_SCREEN_DATA_RESTART = "--redump"; +const std::string ARGS_DUMP_SCREEN_DATA = "--dump"; +const std::string ARGS_DUMP_SCREEN_DATA_RESTART = "--redump"; const std::map ARGS_MAP = { { ARGS_HELP, HidumpFlag::GET_HELP }, - { ARGS_DUMP_SOURCE_SCREEN_DATA, HidumpFlag::DUMP_SOURCE_SCREEN_DATA }, - { ARGS_DUMP_SOURCE_SCREEN_DATA_RESTART, HidumpFlag::DUMP_SOURCE_SCREEN_DATA_RESTART }, + { ARGS_DUMP_SCREEN_DATA, HidumpFlag::DUMP_SCREEN_DATA }, + { ARGS_DUMP_SCREEN_DATA_RESTART, HidumpFlag::DUMP_SCREEN_DATA_RESTART }, }; } -DscreenSourceHidumper::DscreenSourceHidumper() +DscreenHidumper::DscreenHidumper() { DHLOGI("Distributed screen hidumper constructed."); } -DscreenSourceHidumper::~DscreenSourceHidumper() +DscreenHidumper::~DscreenHidumper() { DHLOGI("Distributed screen hidumper deconstructed."); } -bool DscreenSourceHidumper::Dump(const std::vector &args, std::string &result) +bool DscreenHidumper::Dump(const std::vector &args, std::string &result) { DHLOGI("Distributed screen hidumper dump args.size():%d.", args.size()); result.clear(); @@ -69,7 +68,7 @@ bool DscreenSourceHidumper::Dump(const std::vector &args, std::stri return ProcessDump(args[0], result) == DH_SUCCESS; } -int32_t DscreenSourceHidumper::ProcessDump(const std::string &args, std::string &result) +int32_t DscreenHidumper::ProcessDump(const std::string &args, std::string &result) { DHLOGI("Process dump."); HidumpFlag hf = HidumpFlag::UNKNOWN; @@ -84,10 +83,10 @@ int32_t DscreenSourceHidumper::ProcessDump(const std::string &args, std::string } result.clear(); switch (hf) { - case HidumpFlag::DUMP_SOURCE_SCREEN_DATA: { + case HidumpFlag::DUMP_SCREEN_DATA: { return DumpScreenData(result); } - case HidumpFlag::DUMP_SOURCE_SCREEN_DATA_RESTART: { + case HidumpFlag::DUMP_SCREEN_DATA_RESTART: { return ReDumpScreenData(result); } default: { @@ -96,7 +95,7 @@ int32_t DscreenSourceHidumper::ProcessDump(const std::string &args, std::string } } -int32_t DscreenSourceHidumper::DumpScreenData(std::string &result) +int32_t DscreenHidumper::DumpScreenData(std::string &result) { DHLOGI("Dump screen data."); @@ -108,17 +107,17 @@ int32_t DscreenSourceHidumper::DumpScreenData(std::string &result) } } - if (FileFullFlag_ == false) { + if (fileFullFlag_ == false) { result.append("Dump..."); - HidumperFlag_ = true; - SetTansDumpFlagTrue(); + hidumperFlag_ = true; + SetTransDumpFlagTrue(); } else { result.append("File oversize 300M : stop dump, use parameter \"--redump\" to clear dumpfile and redump"); } return DH_SUCCESS; } -int32_t DscreenSourceHidumper::ReDumpScreenData(std::string &result) +int32_t DscreenHidumper::ReDumpScreenData(std::string &result) { DHLOGI("Redump screen data."); @@ -132,82 +131,82 @@ int32_t DscreenSourceHidumper::ReDumpScreenData(std::string &result) SetFileFlagFalse(); SetReDumpFlagTrue(); result.append("ReDumpStart..."); - HidumperFlag_ = true; - SetTansReDumpFlagTrue(); + hidumperFlag_ = true; + SetTransReDumpFlagTrue(); return DH_SUCCESS; } -bool DscreenSourceHidumper::GetFlagStatus() +bool DscreenHidumper::GetFlagStatus() { - return HidumperFlag_; + return hidumperFlag_; } -void DscreenSourceHidumper::SetFlagFalse() +void DscreenHidumper::SetFlagFalse() { - HidumperFlag_ = false; + hidumperFlag_ = false; } -bool DscreenSourceHidumper::GetFileFlag() +bool DscreenHidumper::GetFileFlag() { - return FileFullFlag_; + return fileFullFlag_; } -void DscreenSourceHidumper::SetFileFlagFalse() +void DscreenHidumper::SetFileFlagFalse() { - FileFullFlag_ = false; + fileFullFlag_ = false; } -void DscreenSourceHidumper::SetFileFlagTrue() +void DscreenHidumper::SetFileFlagTrue() { - FileFullFlag_ = true; + fileFullFlag_ = true; } -bool DscreenSourceHidumper::GetReDumpFlag() +bool DscreenHidumper::GetReDumpFlag() { - return ReDumpFlag_; + return reDumpFlag_; } -void DscreenSourceHidumper::SetReDumpFlagFalse() +void DscreenHidumper::SetReDumpFlagFalse() { - ReDumpFlag_ = false; + reDumpFlag_ = false; } -void DscreenSourceHidumper::SetReDumpFlagTrue() +void DscreenHidumper::SetReDumpFlagTrue() { - ReDumpFlag_ = true; + reDumpFlag_ = true; } -bool DscreenSourceHidumper::GetTansDumpFlag() +bool DscreenHidumper::GetTransDumpFlag() { - return tansDumpFlag_; + return transDumpFlag_; } -bool DscreenSourceHidumper::GetTansReDumpFlag() +bool DscreenHidumper::GetTransReDumpFlag() { - return tansReDumpFlag_; + return transReDumpFlag_; } -void DscreenSourceHidumper::SetTansDumpFlagFalse() +void DscreenHidumper::SetTransDumpFlagFalse() { - tansDumpFlag_ = false; + transDumpFlag_ = false; } -void DscreenSourceHidumper::SetTansDumpFlagTrue() +void DscreenHidumper::SetTransDumpFlagTrue() { - tansDumpFlag_ = true; + transDumpFlag_ = true; } -void DscreenSourceHidumper::SetTansReDumpFlagFalse() +void DscreenHidumper::SetTransReDumpFlagFalse() { - tansReDumpFlag_ = false; + transReDumpFlag_ = false; } -void DscreenSourceHidumper::SetTansReDumpFlagTrue() +void DscreenHidumper::SetTransReDumpFlagTrue() { - tansReDumpFlag_ = true; + transReDumpFlag_ = true; } -void DscreenSourceHidumper::ShowHelp(std::string &result) +void DscreenHidumper::ShowHelp(std::string &result) { DHLOGI("Show help."); result.append("Usage:dump [options]\n") @@ -215,16 +214,48 @@ void DscreenSourceHidumper::ShowHelp(std::string &result) .append("-h ") .append(": show help\n") .append("--dump ") - .append(": dump source screen data in /data/data/dscreen\n") + .append(": dump screen data in /data/data/dscreen\n") .append("--redump ") - .append(": clear file and restart dump source screen data\n"); + .append(": clear file and restart dump screen data\n"); } -int32_t DscreenSourceHidumper::ShowIllegalInfomation(std::string &result) +int32_t DscreenHidumper::ShowIllegalInfomation(std::string &result) { DHLOGI("Show illegal information."); result.append("unknown command, -h for help."); return DH_SUCCESS; } + +void SaveFile(std::string file, const VideoData &video) +{ + DHLOGE("Saving File."); + std::string fileName = DUMP_FILE_PATH + "/" + file + std::to_string(video.width) + ")_height(" + + std::to_string(video.height) + ")_" + video.format + ".jpg"; + DHLOGE("fileName = %s", fileName.c_str()); + if (GetReDumpFlag() == true) { + std::remove(fileName.c_str()); + SetReDumpFlagFalse(); + } + std::ofstream ofs(fileName, std::ios::binary | std::ios::out | std::ios::app); + + if (!ofs.is_open()) { + DHLOGE("open file failed."); + return; + } + DHLOGE("open Hidumper SaveFile file success."); + ofs.seekp(0, std::ios::end); + int32_t fileSize = ofs.tellp(); + if (fileSize < 0) { + DHLOGE("filesize get err"); + filesize = 0; + } + if ((static_castfileSize + video.size) < DUMP_FILE_MAX_SIZE) { + SetFileFlagFalse(); + ofs.write((const char *)(video.data), video.size); + } else { + SetFileFlagTrue(); + } + ofs.close(); +} } // namespace DistributedHardware } // namespace OHOS \ No newline at end of file diff --git a/services/screenservice/sinkservice/BUILD.gn b/services/screenservice/sinkservice/BUILD.gn index 5b2080de..cea59ffd 100644 --- a/services/screenservice/sinkservice/BUILD.gn +++ b/services/screenservice/sinkservice/BUILD.gn @@ -46,7 +46,7 @@ ohos_shared_library("distributed_screen_sink") { "${services_path}/common/utils/src/dscreen_fwkkit.cpp", "${services_path}/common/utils/src/dscreen_maprelation.cpp", "${services_path}/common/utils/src/video_param.cpp", - "./dscreenservice/src/dscreen_sink_hidumper.cpp", + "${services_path}/common/utils/src/dscreen_hidumper.cpp", "./dscreenservice/src/dscreen_sink_service.cpp", "./dscreenservice/src/dscreen_sink_stub.cpp", "./screenregionmgr/1.0/src/screenregion.cpp", @@ -69,7 +69,7 @@ ohos_shared_library("distributed_screen_sink") { ] if (build_variant == "root") { - defines += [ "DUMP_DSCREENREGION_FILE" ] + defines += [ "DUMP_DSCREEN_FILE" ] } external_deps = [ diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_hidumper.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_hidumper.cpp deleted file mode 100644 index 796cb0e8..00000000 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_hidumper.cpp +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright (c) 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "dscreen_sink_hidumper.h" - -#include "dscreen_constants.h" -#include "dscreen_errcode.h" -#include "dscreen_log.h" -#include "dscreen_util.h" - -#undef DH_LOG_TAG -#define DH_LOG_TAG "DscreenSinkHidumper" - -namespace OHOS { -namespace DistributedHardware { -IMPLEMENT_SINGLE_INSTANCE(DscreenSinkHidumper); -namespace { -const std::string ARGS_HELP = "-h"; -const std::string ARGS_DUMP_SINK_SCREEN_DATA = "--dump"; -const std::string ARGS_DUMP_SINK_SCREEN_DATA_RESTART = "--redump"; - -const std::map ARGS_MAP = { - { ARGS_HELP, HidumpFlag::GET_HELP }, - { ARGS_DUMP_SINK_SCREEN_DATA, HidumpFlag::DUMP_SINK_SCREEN_DATA }, - { ARGS_DUMP_SINK_SCREEN_DATA_RESTART, HidumpFlag::DUMP_SINK_SCREEN_DATA_RESTART }, -}; -} - -DscreenSinkHidumper::DscreenSinkHidumper() -{ - DHLOGI("Distributed screen hidumper constructed."); -} - -DscreenSinkHidumper::~DscreenSinkHidumper() -{ - DHLOGI("Distributed screen hidumper deconstructed."); -} - -bool DscreenSinkHidumper::Dump(const std::vector &args, std::string &result) -{ - DHLOGI("Distributed screen hidumper dump args.size():%d.", args.size()); - result.clear(); - int32_t argsSize = static_cast(args.size()); - for (int32_t i = 0; i < argsSize; i++) { - DHLOGI("Distributed screen hidumper dump args[%d]: %s.", i, args.at(i).c_str()); - } - - if (args.empty()) { - ShowHelp(result); - return true; - } else if (args.size() > 1) { - ShowIllegalInfomation(result); - return true; - } - - return ProcessDump(args[0], result) == DH_SUCCESS; -} - -int32_t DscreenSinkHidumper::ProcessDump(const std::string &args, std::string &result) -{ - DHLOGI("Process dump."); - HidumpFlag hf = HidumpFlag::UNKNOWN; - auto operatorIter = ARGS_MAP.find(args); - if (operatorIter != ARGS_MAP.end()) { - hf = operatorIter->second; - } - - if (hf == HidumpFlag::GET_HELP) { - ShowHelp(result); - return DH_SUCCESS; - } - result.clear(); - switch (hf) { - case HidumpFlag::DUMP_SINK_SCREEN_DATA: { - return DumpScreenData(result); - } - case HidumpFlag::DUMP_SINK_SCREEN_DATA_RESTART: { - return ReDumpScreenData(result); - } - default: { - return ShowIllegalInfomation(result); - } - } -} - -int32_t DscreenSinkHidumper::DumpScreenData(std::string &result) -{ - DHLOGI("Dump screen data."); - - if (access(DUMP_FILE_PATH.c_str(), 0) < 0) { - if (mkdir(DUMP_FILE_PATH.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)) { - DHLOGI("Create dir err."); - DHLOGI("dir path : %s", DUMP_FILE_PATH.c_str()); - return DSCREEN_BAD_VALUE; - } - } - - if (FileFullFlag_ == false) { - result.append("Dump..."); - HidumperFlag_ = true; - } else { - result.append("File oversize 300M : stop dump, use parameter \"--redump\" to clear dumpfile and redump"); - } - return DH_SUCCESS; -} - -int32_t DscreenSinkHidumper::ReDumpScreenData(std::string &result) -{ - DHLOGI("Redump screen data."); - - if (access(DUMP_FILE_PATH.c_str(), 0) < 0) { - if (mkdir(DUMP_FILE_PATH.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)) { - DHLOGI("Create dir err."); - DHLOGI("dir path : %s", DUMP_FILE_PATH.c_str()); - return DSCREEN_BAD_VALUE; - } - } - SetFileFlagFalse(); - SetReDumpFlagTrue(); - result.append("ReDumpStart..."); - HidumperFlag_ = true; - return DH_SUCCESS; -} - -bool DscreenSinkHidumper::GetFlagStatus() -{ - return HidumperFlag_; -} - -void DscreenSinkHidumper::SetFlagFalse() -{ - HidumperFlag_ = false; -} - -bool DscreenSinkHidumper::GetFileFlag() -{ - return FileFullFlag_; -} - -void DscreenSinkHidumper::SetFileFlagFalse() -{ - FileFullFlag_ = false; -} - -void DscreenSinkHidumper::SetFileFlagTrue() -{ - FileFullFlag_ = true; -} - -bool DscreenSinkHidumper::GetReDumpFlag() -{ - return ReDumpFlag_; -} - -void DscreenSinkHidumper::SetReDumpFlagFalse() -{ - ReDumpFlag_ = false; -} - -void DscreenSinkHidumper::SetReDumpFlagTrue() -{ - ReDumpFlag_ = true; -} - -void DscreenSinkHidumper::ShowHelp(std::string &result) -{ - DHLOGI("Show help."); - result.append("Usage:dump [options]\n") - .append("Description:\n") - .append("-h ") - .append(": show help\n") - .append("--dump ") - .append(": dump sink screen data in /data/data/dscreen\n") - .append("--redump ") - .append(": clear file and restart dump sink screen data\n"); -} - -int32_t DscreenSinkHidumper::ShowIllegalInfomation(std::string &result) -{ - DHLOGI("Show illegal information."); - result.append("unknown command, -h for help."); - return DH_SUCCESS; -} -} // namespace DistributedHardware -} // namespace OHOS \ No newline at end of file diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp index 3a79d3b6..43d45bf7 100644 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp +++ b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp @@ -21,7 +21,7 @@ #include "string_ex.h" #include "system_ability_definition.h" -#include "dscreen_sink_hidumper.h" +#include "dscreen_hidumper.h" #include "dscreen_constants.h" #include "dscreen_errcode.h" #include "dscreen_log.h" @@ -140,7 +140,7 @@ int32_t DScreenSinkService::Dump(int32_t fd, const std::vector& std::transform(args.cbegin(), args.cend(), std::back_inserter(argsStr), [](const std::u16string &item) { return Str16ToStr8(item); }); - if (!DscreenSinkHidumper::GetInstance().Dump(argsStr, result)) { + if (!DscreenHidumper::GetInstance().Dump(argsStr, result)) { DHLOGE("Hidump error"); return ERR_DH_SCREEN_SA_HIDUMPER_ERROR; } diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h b/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h index e7f3447f..e21fcded 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h @@ -42,7 +42,6 @@ public: void OnEngineMessage(const std::shared_ptr &message) override; void OnEngineDataDone(const std::shared_ptr &buffer) override; void GetWSBuffer(sptr &wsBuffer, const std::shared_ptr &buffer); - void SaveFile(std::string file, const VideoData &video); int32_t Release(); int32_t InitReceiverEngine(IAVEngineProvider *providerPtr); diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp index 8c8992f6..86bfe64e 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp @@ -22,7 +22,7 @@ #include "dscreen_errcode.h" #include "dscreen_log.h" #include "dscreen_util.h" -#include "dscreen_sink_hidumper.h" +#include "dscreen_hidumper.h" namespace OHOS { namespace DistributedHardware { @@ -163,17 +163,17 @@ int32_t AVTransReceiverAdapter::OnDataAvailable(const std::shared_ptrOnEngineDataDone(buffer); -#ifdef DUMP_DSCREENREGION_FILE - if(DscreenSinkHidumper::GetInstance().GetTansDumpFlag() == true) { - receiverEngine_->StartDumpMediaData(); - DHLOGI("send dump to trans done"); - DscreenSinkHidumper::GetInstance().SetTansDumpFlagFalse(); - } - if(DscreenSinkHidumper::GetInstance().GetTansReDumpFlag() == true) { - receiverEngine_->ReStartDumpMediaData(); - DHLOGI("send redump to trans done"); - DscreenSinkHidumper::GetInstance().SetTansReDumpFlagFalse(); - } +#ifdef DUMP_DSCREEN_FILE + if(DscreenHidumper::GetInstance().GetTransDumpFlag() == true) { + senderEngine_->StartDumpMediaData(); + DHLOGI("send dump to trans done"); + DscreenHidumper::GetInstance().SetTransDumpFlagFalse(); + } + if(DscreenHidumper::GetInstance().GetTransReDumpFlag() == true) { + senderEngine_->ReStartDumpMediaData(); + DHLOGI("send redump to trans done"); + DscreenHidumper::GetInstance().SetTransReDumpFlagFalse(); + } #endif } return DH_AVT_SUCCESS; diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp index 922c362d..6fafd997 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp @@ -338,15 +338,15 @@ void ScreenRegion::OnEngineDataDone(const std::shared_ptr &buffer return; } GetWSBuffer(wsBuffer, buffer); -#ifdef DUMP_DSCREENREGION_FILE +#ifdef DUMP_DSCREEN_FILE uint32_t surBufSize = wsBuffer->GetSize(); auto surBufAddr = static_cast(wsBuffer->GetVirAddr()); int64_t timestamp = 0; VideoData data = {surBufAddr, surBufSize, requestConfig.width, requestConfig.height, timestamp, "ycbcr_sp420"}; - if (DscreenSinkHidumper::GetInstance().GetFlagStatus() == true) { + if (DscreenHidumper::GetInstance().GetFlagStatus() == true) { DHLOGE("HidumperFlag_ = true, exec SaveFile"); - SaveFile("Screen_AfterEncoding_width(", data); - DscreenSinkHidumper::GetInstance().SetFlagFalse(); + DscreenHidumper::GetInstance().SaveFile("Screen_AfterEncoding_width(", data); + DscreenHidumper::GetInstance().SetFlagFalse(); } #endif BufferFlushConfig flushConfig = { {0, 0, wsBuffer->GetWidth(), wsBuffer->GetHeight()}, 0}; @@ -359,36 +359,6 @@ void ScreenRegion::OnEngineDataDone(const std::shared_ptr &buffer DHLOGI("Fill video buffer data to window surface success. frameNumber: %zu", frameNumber_.load()); } -void ScreenRegion::SaveFile(std::string file, const VideoData &video) -{ - DHLOGE("Saving File."); - std::string fileName = DUMP_FILE_PATH + "/" + file + std::to_string(video.width) + ")_height(" + - std::to_string(video.height) + ")_" + video.format + ".jpg"; - DHLOGE("fileName = %s", fileName.c_str()); - if (DscreenSinkHidumper::GetInstance().GetReDumpFlag() == true) { - std::remove(fileName.c_str()); - DscreenSinkHidumper::GetInstance().SetReDumpFlagFalse(); - } - std::ofstream ofs(fileName, std::ios::binary | std::ios::out | std::ios::app); - - if (!ofs.is_open()) { - DHLOGE("open file failed."); - return; - } - DHLOGE("open Hidumper SaveFile file success."); - ofs.seekp(0, std::ios::end); - uint32_t fileSize = ofs.tellp(); - DHLOGE("fileSize = %d, video.size = %d, maxsize = %d", fileSize, video.size, - DUMP_FILE_MAX_SIZE); - if ((fileSize + video.size) < DUMP_FILE_MAX_SIZE) { - DscreenSinkHidumper::GetInstance().SetFileFlagFalse(); - ofs.write((const char *)(video.data), video.size); - } else { - DscreenSinkHidumper::GetInstance().SetFileFlagTrue(); - } - ofs.close(); -} - uint64_t ScreenRegion::GetScreenId() { return screenId_; diff --git a/services/screenservice/sourceservice/BUILD.gn b/services/screenservice/sourceservice/BUILD.gn index d3e99ec9..cb631b56 100644 --- a/services/screenservice/sourceservice/BUILD.gn +++ b/services/screenservice/sourceservice/BUILD.gn @@ -51,6 +51,7 @@ ohos_shared_library("distributed_screen_source") { "${services_path}/common/utils/src/dscreen_fwkkit.cpp", "${services_path}/common/utils/src/dscreen_maprelation.cpp", "${services_path}/common/utils/src/video_param.cpp", + "${services_path}/common/utils/src/dscreen_hidumper.cpp", "./dscreenmgr/1.0/src/dscreen.cpp", "./dscreenmgr/1.0/src/dscreen_manager.cpp", "./dscreenmgr/2.0/src/av_sender_engine_adapter.cpp", @@ -58,7 +59,6 @@ ohos_shared_library("distributed_screen_source") { "./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_hidumper.cpp", "./dscreenservice/src/dscreen_source_service.cpp", "./dscreenservice/src/dscreen_source_stub.cpp", ] diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h index 23621c44..f450c6d0 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h @@ -96,7 +96,6 @@ public: int32_t AddTask(const std::shared_ptr &task); int32_t InitSenderEngine(IAVEngineProvider *providerPtr, const std::string &peerDevId); void ConsumeSurface(); - void SaveFile(std::string file, const VideoData &video); std::string GetDHId() const; std::string GetDevId() const; uint64_t GetScreenId() const; diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp index 7375c0f6..8aa3dcf7 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp @@ -18,7 +18,7 @@ #include "dscreen_errcode.h" #include "dscreen_log.h" #include "dscreen_util.h" -#include "dscreen_source_hidumper.h" +#include "dscreen_hidumper.h" namespace OHOS { namespace DistributedHardware { @@ -156,15 +156,15 @@ int32_t AVTransSenderAdapter::PushData(const VideoData &video) bufferMata->SetMetaItem(AVTransTag::VIDEO_PIXEL_FORMAT, video.format); bufferMata->SetMetaItem(AVTransTag::PRE_TIMESTAMP, std::to_string(video.timestamp)); #ifdef DUMP_DSCREEN_FILE - if(DscreenSourceHidumper::GetInstance().GetTansReDumpFlag() == true) { + if(DscreenHidumper::GetInstance().GetTransDumpFlag() == true) { senderEngine_->StartDumpMediaData(); DHLOGI("send dump to trans done"); - DscreenSourceHidumper::GetInstance().SetTansReDumpFlagFalse(); + DscreenHidumper::GetInstance().SetTransDumpFlagFalse(); } - if(DscreenSourceHidumper::GetInstance().GetTansReDumpFlag() == true) { + if(DscreenHidumper::GetInstance().GetTransReDumpFlag() == true) { senderEngine_->ReStartDumpMediaData(); DHLOGI("send redump to trans done"); - DscreenSourceHidumper::GetInstance().SetTansReDumpFlagFalse(); + DscreenHidumper::GetInstance().SetTransReDumpFlagFalse(); } #endif int32_t ret = senderEngine_->PushData(transBuffer); diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp index fd6204b7..ca85f157 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp @@ -27,7 +27,7 @@ #include "dscreen_hisysevent.h" #include "dscreen_json_util.h" #include "dscreen_log.h" -#include "dscreen_source_hidumper.h" +#include "dscreen_hidumper.h" #include "dscreen_util.h" #include "common/include/screen_manager_adapter.h" @@ -321,10 +321,10 @@ void DScreen::ConsumeSurface() uint32_t videoHeight = videoParam_->GetVideoHeight(); VideoData data = { surBufAddr, surBufSize, videoWidth, videoHeight, timestamp, VIDEO_FORMAT_RGBA8888 }; #ifdef DUMP_DSCREEN_FILE - if (DscreenSourceHidumper::GetInstance().GetFlagStatus() == true) { + if (DscreenHidumper::GetInstance().GetFlagStatus() == true) { DHLOGE("HidumperFlag_ = true, exec SaveFile"); - SaveFile("Screen_BeforeCoding_width(", data); - DscreenSourceHidumper::GetInstance().SetFlagFalse(); + DscreenHidumper::GetInstance().SaveFile("Screen_BeforeCoding_width(", data); + DscreenHidumper::GetInstance().SetFlagFalse(); } #endif int32_t ret = senderAdapter_->PushData(data); @@ -335,38 +335,6 @@ void DScreen::ConsumeSurface() DHLOGI("ConsumeSurface success. timestamp=%lld", (long long)timestamp); } -void DScreen::SaveFile(std::string file, const VideoData &video) -{ - DHLOGE("Saving File."); - std::string fileName = DUMP_FILE_PATH + "/" + file + std::to_string(video.width) + ")_height(" + - std::to_string(video.height) + ")_" + video.format + ".jpg"; - DHLOGE("fileName = %s", fileName.c_str()); - if (DscreenSourceHidumper::GetInstance().GetReDumpFlag() == true) { - std::remove(fileName.c_str()); - DscreenSourceHidumper::GetInstance().SetReDumpFlagFalse(); - } - std::ofstream ofs(fileName, std::ios::binary | std::ios::out | std::ios::app); - - if (!ofs.is_open()) { - DHLOGE("open file failed."); - return; - } - DHLOGE("open Hidumper SaveFile file success."); - ofs.seekp(0, std::ios::end); - int32_t fileSize = ofs.tellp(); - if (fileSize < 0) { - DHLOGE("filesize get err"); - filesize = 0; - } - if ((static_castfileSize + video.size) < DUMP_FILE_MAX_SIZE) { - DscreenSourceHidumper::GetInstance().SetFileFlagFalse(); - ofs.write((const char *)(video.data), video.size); - } else { - DscreenSourceHidumper::GetInstance().SetFileFlagTrue(); - } - ofs.close(); -} - int32_t DScreen::InitSenderEngine(IAVEngineProvider *providerPtr, const std::string &peerDevId) { DHLOGI("InitSenderEngine enter."); diff --git a/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_hidumper.h b/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_hidumper.h deleted file mode 100644 index 7a225d8d..00000000 --- a/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_hidumper.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef OHOS_DISTRIBUTED_SCREEN_SOURCE_HIDUMPER_H -#define OHOS_DISTRIBUTED_SCREEN_SOURCE_HIDUMPER_H - -#include -#include -#include - -#include -#include -#include - -#include "single_instance.h" - -namespace OHOS { -namespace DistributedHardware { -enum class HidumpFlag { - UNKNOWN = 0, - GET_HELP, - DUMP_SOURCE_SCREEN_DATA, - DUMP_SOURCE_SCREEN_DATA_RESTART, -}; - -class DscreenSourceHidumper { - DECLARE_SINGLE_INSTANCE_BASE(DscreenSourceHidumper); - -public: - bool Dump(const std::vector &args, std::string &result); - bool GetFlagStatus(); - void SetFlagFalse(); - bool GetFileFlag(); - bool GetReDumpFlag(); - void SetFileFlagFalse(); - void SetFileFlagTrue(); - void SetReDumpFlagFalse(); - void SetReDumpFlagTrue(); - bool GetTansDumpFlag(); - bool GetTansReDumpFlag(); - void SetTansDumpFlagFalse(); - void SetTansDumpFlagTrue(); - void SetTansReDumpFlagFalse(); - void SetTansReDumpFlagTrue(); - DscreenSourceHidumper(); - ~DscreenSourceHidumper(); - -private: - void ShowHelp(std::string &result); - int32_t ShowIllegalInfomation(std::string &result); - int32_t ProcessDump(const std::string &args, std::string &result); - - int32_t DumpScreenData(std::string &result); - int32_t ReDumpScreenData(std::string &result); - -private: - bool HidumperFlag_ = false; - bool FileFullFlag_ = false; - bool ReDumpFlag_ = false; - bool tansDumpFlag_ = false; - bool tansReDumpFlag_ = false; -}; -} // namespace DistributedHardware -} // namespace OHOS -#endif // OHOS_DISTRIBUTED_SCREEN_SOURCE_HIDUMPER_H \ No newline at end of file diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index a42d21a2..b8bd9b35 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -22,7 +22,7 @@ #include "string_ex.h" #include "system_ability_definition.h" -#include "dscreen_source_hidumper.h" +#include "dscreen_hidumper.h" #include "dscreen_constants.h" #include "dscreen_errcode.h" #include "dscreen_hisysevent.h" @@ -201,7 +201,7 @@ int32_t DScreenSourceService::Dump(int32_t fd, const std::vector std::transform(args.cbegin(), args.cend(), std::back_inserter(argsStr), [](const std::u16string &item) { return Str16ToStr8(item); }); - if (!DscreenSourceHidumper::GetInstance().Dump(argsStr, result)) { + if (!DscreenHidumper::GetInstance().Dump(argsStr, result)) { DHLOGE("Hidump error"); return ERR_DH_SCREEN_SA_HIDUMPER_ERROR; } -- Gitee From d830599723c10a801d92948490ba36d496591993 Mon Sep 17 00:00:00 2001 From: byndyx Date: Thu, 5 Oct 2023 16:42:48 +0800 Subject: [PATCH 3/6] modify bug Signed-off-by: byndyx --- services/screenservice/sinkservice/BUILD.gn | 2 +- .../sinkservice/screenregionmgr/2.0/src/screenregion.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/screenservice/sinkservice/BUILD.gn b/services/screenservice/sinkservice/BUILD.gn index cea59ffd..6fda413c 100644 --- a/services/screenservice/sinkservice/BUILD.gn +++ b/services/screenservice/sinkservice/BUILD.gn @@ -44,9 +44,9 @@ ohos_shared_library("distributed_screen_sink") { "${interfaces_path}/innerkits/native_cpp/screen_sink/src/dscreen_sink_proxy.cpp", "${interfaces_path}/innerkits/native_cpp/screen_source/src/dscreen_source_proxy.cpp", "${services_path}/common/utils/src/dscreen_fwkkit.cpp", + "${services_path}/common/utils/src/dscreen_hidumper.cpp", "${services_path}/common/utils/src/dscreen_maprelation.cpp", "${services_path}/common/utils/src/video_param.cpp", - "${services_path}/common/utils/src/dscreen_hidumper.cpp", "./dscreenservice/src/dscreen_sink_service.cpp", "./dscreenservice/src/dscreen_sink_stub.cpp", "./screenregionmgr/1.0/src/screenregion.cpp", diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp index 6fafd997..da35b26c 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp @@ -22,7 +22,7 @@ #include "dscreen_fwkkit.h" #include "dscreen_hisysevent.h" #include "dscreen_log.h" -#include "dscreen_sink_hidumper.h" +#include "dscreen_hidumper.h" #include "dscreen_json_util.h" #include "dscreen_util.h" #include "screen.h" -- Gitee From 3748c6ee63ef875d60aec1ce513b880f3454740a Mon Sep 17 00:00:00 2001 From: byndyx Date: Thu, 5 Oct 2023 16:48:53 +0800 Subject: [PATCH 4/6] modify bug Signed-off-by: byndyx --- .../screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp | 2 -- .../dscreenmgr/2.0/src/av_sender_engine_adapter.cpp | 2 -- 2 files changed, 4 deletions(-) diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp index 86bfe64e..11135521 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp @@ -165,12 +165,10 @@ int32_t AVTransReceiverAdapter::OnDataAvailable(const std::shared_ptrOnEngineDataDone(buffer); #ifdef DUMP_DSCREEN_FILE if(DscreenHidumper::GetInstance().GetTransDumpFlag() == true) { - senderEngine_->StartDumpMediaData(); DHLOGI("send dump to trans done"); DscreenHidumper::GetInstance().SetTransDumpFlagFalse(); } if(DscreenHidumper::GetInstance().GetTransReDumpFlag() == true) { - senderEngine_->ReStartDumpMediaData(); DHLOGI("send redump to trans done"); DscreenHidumper::GetInstance().SetTransReDumpFlagFalse(); } diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp index 8aa3dcf7..5ff164ce 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp @@ -157,12 +157,10 @@ int32_t AVTransSenderAdapter::PushData(const VideoData &video) bufferMata->SetMetaItem(AVTransTag::PRE_TIMESTAMP, std::to_string(video.timestamp)); #ifdef DUMP_DSCREEN_FILE if(DscreenHidumper::GetInstance().GetTransDumpFlag() == true) { - senderEngine_->StartDumpMediaData(); DHLOGI("send dump to trans done"); DscreenHidumper::GetInstance().SetTransDumpFlagFalse(); } if(DscreenHidumper::GetInstance().GetTransReDumpFlag() == true) { - senderEngine_->ReStartDumpMediaData(); DHLOGI("send redump to trans done"); DscreenHidumper::GetInstance().SetTransReDumpFlagFalse(); } -- Gitee From fa507ece631b98d2b0db1118f7624eb00b3d53a9 Mon Sep 17 00:00:00 2001 From: byndyx Date: Thu, 5 Oct 2023 17:14:21 +0800 Subject: [PATCH 5/6] modify bug Signed-off-by: byndyx --- services/common/utils/include/dscreen_hidumper.h | 2 ++ services/common/utils/src/dscreen_hidumper.cpp | 6 +++--- services/screenservice/sinkservice/BUILD.gn | 4 ++-- .../screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp | 2 +- .../sinkservice/screenregionmgr/2.0/src/screenregion.cpp | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/services/common/utils/include/dscreen_hidumper.h b/services/common/utils/include/dscreen_hidumper.h index d8f21eeb..3f9ff4eb 100644 --- a/services/common/utils/include/dscreen_hidumper.h +++ b/services/common/utils/include/dscreen_hidumper.h @@ -20,6 +20,8 @@ #include #include +#include +#include #include #include #include diff --git a/services/common/utils/src/dscreen_hidumper.cpp b/services/common/utils/src/dscreen_hidumper.cpp index fdd266c9..06a199e1 100644 --- a/services/common/utils/src/dscreen_hidumper.cpp +++ b/services/common/utils/src/dscreen_hidumper.cpp @@ -226,7 +226,7 @@ int32_t DscreenHidumper::ShowIllegalInfomation(std::string &result) return DH_SUCCESS; } -void SaveFile(std::string file, const VideoData &video) +void DscreenHidumper::SaveFile(std::string file, const VideoData &video) { DHLOGE("Saving File."); std::string fileName = DUMP_FILE_PATH + "/" + file + std::to_string(video.width) + ")_height(" + @@ -247,9 +247,9 @@ void SaveFile(std::string file, const VideoData &video) int32_t fileSize = ofs.tellp(); if (fileSize < 0) { DHLOGE("filesize get err"); - filesize = 0; + fileSize = 0; } - if ((static_castfileSize + video.size) < DUMP_FILE_MAX_SIZE) { + if ((static_cast(fileSize) + video.size) < DUMP_FILE_MAX_SIZE) { SetFileFlagFalse(); ofs.write((const char *)(video.data), video.size); } else { diff --git a/services/screenservice/sinkservice/BUILD.gn b/services/screenservice/sinkservice/BUILD.gn index 6fda413c..a70d8afa 100644 --- a/services/screenservice/sinkservice/BUILD.gn +++ b/services/screenservice/sinkservice/BUILD.gn @@ -44,9 +44,9 @@ ohos_shared_library("distributed_screen_sink") { "${interfaces_path}/innerkits/native_cpp/screen_sink/src/dscreen_sink_proxy.cpp", "${interfaces_path}/innerkits/native_cpp/screen_source/src/dscreen_source_proxy.cpp", "${services_path}/common/utils/src/dscreen_fwkkit.cpp", - "${services_path}/common/utils/src/dscreen_hidumper.cpp", "${services_path}/common/utils/src/dscreen_maprelation.cpp", "${services_path}/common/utils/src/video_param.cpp", + "${services_path}/common/utils/src/dscreen_hidumper.cpp", "./dscreenservice/src/dscreen_sink_service.cpp", "./dscreenservice/src/dscreen_sink_stub.cpp", "./screenregionmgr/1.0/src/screenregion.cpp", @@ -69,7 +69,7 @@ ohos_shared_library("distributed_screen_sink") { ] if (build_variant == "root") { - defines += [ "DUMP_DSCREEN_FILE" ] + defines += [ "DUMP_DSCREENREGION_FILE" ] } external_deps = [ diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp index 11135521..3b27e230 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp @@ -163,7 +163,7 @@ int32_t AVTransReceiverAdapter::OnDataAvailable(const std::shared_ptrOnEngineDataDone(buffer); -#ifdef DUMP_DSCREEN_FILE +#ifdef DUMP_DSCREENREGION_FILE if(DscreenHidumper::GetInstance().GetTransDumpFlag() == true) { DHLOGI("send dump to trans done"); DscreenHidumper::GetInstance().SetTransDumpFlagFalse(); diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp index da35b26c..136fa644 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp @@ -338,7 +338,7 @@ void ScreenRegion::OnEngineDataDone(const std::shared_ptr &buffer return; } GetWSBuffer(wsBuffer, buffer); -#ifdef DUMP_DSCREEN_FILE +#ifdef DUMP_DSCREENREGION_FILE uint32_t surBufSize = wsBuffer->GetSize(); auto surBufAddr = static_cast(wsBuffer->GetVirAddr()); int64_t timestamp = 0; -- Gitee From bb1acfe82e3a8a5e1f90b60b85bf7b1c2fa66247 Mon Sep 17 00:00:00 2001 From: byndyx Date: Sat, 7 Oct 2023 10:20:08 +0800 Subject: [PATCH 6/6] gn format Signed-off-by: byndyx --- services/screenservice/sinkservice/BUILD.gn | 2 +- services/screenservice/sourceservice/BUILD.gn | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/screenservice/sinkservice/BUILD.gn b/services/screenservice/sinkservice/BUILD.gn index a70d8afa..c9374925 100644 --- a/services/screenservice/sinkservice/BUILD.gn +++ b/services/screenservice/sinkservice/BUILD.gn @@ -44,9 +44,9 @@ ohos_shared_library("distributed_screen_sink") { "${interfaces_path}/innerkits/native_cpp/screen_sink/src/dscreen_sink_proxy.cpp", "${interfaces_path}/innerkits/native_cpp/screen_source/src/dscreen_source_proxy.cpp", "${services_path}/common/utils/src/dscreen_fwkkit.cpp", + "${services_path}/common/utils/src/dscreen_hidumper.cpp", "${services_path}/common/utils/src/dscreen_maprelation.cpp", "${services_path}/common/utils/src/video_param.cpp", - "${services_path}/common/utils/src/dscreen_hidumper.cpp", "./dscreenservice/src/dscreen_sink_service.cpp", "./dscreenservice/src/dscreen_sink_stub.cpp", "./screenregionmgr/1.0/src/screenregion.cpp", diff --git a/services/screenservice/sourceservice/BUILD.gn b/services/screenservice/sourceservice/BUILD.gn index cb631b56..6c40d2cc 100644 --- a/services/screenservice/sourceservice/BUILD.gn +++ b/services/screenservice/sourceservice/BUILD.gn @@ -49,9 +49,9 @@ ohos_shared_library("distributed_screen_source") { "${interfaces_path}/innerkits/native_cpp/screen_sink/src/dscreen_sink_proxy.cpp", "${interfaces_path}/innerkits/native_cpp/screen_source/src/dscreen_source_proxy.cpp", "${services_path}/common/utils/src/dscreen_fwkkit.cpp", + "${services_path}/common/utils/src/dscreen_hidumper.cpp", "${services_path}/common/utils/src/dscreen_maprelation.cpp", "${services_path}/common/utils/src/video_param.cpp", - "${services_path}/common/utils/src/dscreen_hidumper.cpp", "./dscreenmgr/1.0/src/dscreen.cpp", "./dscreenmgr/1.0/src/dscreen_manager.cpp", "./dscreenmgr/2.0/src/av_sender_engine_adapter.cpp", -- Gitee