From b1b7216ac3964f3a23677150b030d12b15429c61 Mon Sep 17 00:00:00 2001 From: gaoqiang_strong Date: Thu, 9 Jun 2022 15:13:40 +0800 Subject: [PATCH 1/4] hisysevent for screen Signed-off-by: gaoqiang_strong --- common/BUILD.gn | 1 + common/include/dscreen_hisysevent.h | 45 ++++- common/src/dscreen_hisysevent.cpp | 177 +++++++++++++++++- hisysevent.yaml | 117 ++++++++---- .../callback/dscreen_sink_load_callback.cpp | 4 +- .../screen_sink/src/dscreen_sink_handler.cpp | 13 +- .../callback/dscreen_source_load_callback.cpp | 4 +- .../src/dscreen_source_handler.cpp | 13 +- .../src/screen_client_window_adapter.cpp | 2 - services/screenservice/sinkservice/BUILD.gn | 1 + .../src/dscreen_sink_service.cpp | 2 + .../screenregionmgr/src/screenregion.cpp | 4 + services/screenservice/sourceservice/BUILD.gn | 1 + .../sourceservice/dscreenmgr/src/dscreen.cpp | 19 ++ .../dscreenmgr/src/screen_manager_adapter.cpp | 5 - .../src/dscreen_source_service.cpp | 6 + .../src/screen_data_channel_impl.cpp | 2 + .../decoder/src/image_sink_decoder.cpp | 2 - .../src/image_sink_processor.cpp | 21 +++ .../screentransport/screensinktrans/BUILD.gn | 1 + .../screensinktrans/src/screen_sink_trans.cpp | 5 + .../encoder/src/image_source_encoder.cpp | 2 - .../src/image_source_processor.cpp | 13 ++ .../screensourcetrans/BUILD.gn | 1 + .../src/screen_source_trans.cpp | 5 + .../softbusadapter/src/softbus_adapter.cpp | 3 - 26 files changed, 399 insertions(+), 70 deletions(-) diff --git a/common/BUILD.gn b/common/BUILD.gn index c5be259d..c09d0686 100644 --- a/common/BUILD.gn +++ b/common/BUILD.gn @@ -20,6 +20,7 @@ ohos_shared_library("distributed_screen_utils") { include_dirs = [ "//utils/native/base/include", "include", + "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include", "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include/hitrace_meter", ] diff --git a/common/include/dscreen_hisysevent.h b/common/include/dscreen_hisysevent.h index 7fe740fc..7902424c 100644 --- a/common/include/dscreen_hisysevent.h +++ b/common/include/dscreen_hisysevent.h @@ -22,15 +22,44 @@ namespace OHOS { namespace DistributedHardware { -const std::string SA_ERROR = "DSCREEN_SA_START_ERROR"; -const std::string WINDOW_ERROR = "DSCREEN_WINDOW_ERROR"; -const std::string VIRTUALSCREEN_ERROR = "DSCREEN_VIRTUALSCREEN_ERROR"; -const std::string VIDEO_DECODER_ERROR = "DSCREEN_VIDEO_DECODER_ERROR"; -const std::string VIDEO_ENCODER_ERROR = "DSCREEN_VIDEO_ENCODER_ERROR"; -const std::string SOFTBUS_SESSIONSERVER_ERROR = "DSCREEN_SOFTBUS_SESSIONSERVER_ERROR"; -const std::string SOFTBUS_SESSION_ERROR = "DSCREEN_SOFTBUS_SESSION_ERROR"; +const std::string SA_ERROR = "DSCREEN_INIT_FAIL"; +const std::string REGISTER_ERROR = "DSCREEN_REGISTER_FAIL"; +const std::string UNREGISTER_ERROR = "DSCREEN_UNREGISTER_FAIL"; +const std::string WINDOW_ERROR = "DSCREEN_WINDOW_FAIL"; +const std::string VIDEO_ENCODER_ERROR = "DSCREEN_ENCODE_FAIL"; +const std::string VIDEO_DECODER_ERROR = "DSCREEN_DECODE_FAIL"; +const std::string SOFTBUS_SESSIONSERVER_ERROR = "DSCREEN_CREATE_SESSIONSVR_FAIL"; +const std::string SOFTBUS_SESSION_ERROR = "DSCREEN_OPEN_SESSION_FAIL"; -void ReportScreenEvent(const std::string &eventName, const std::string &errMsg); +const std::string SA_START = "DSCREEN_INIT"; +const std::string ENABLE_REGISTER = "DSCREEN_REGISTER"; +const std::string DISABLE_UNREGISTER = "DSCREEN_UNREGISTER"; +const std::string PROJECT_START = "DSCREEN_PROJECT_START"; +const std::string PROJECT_END = "DSCREEN_PROJECT_END"; +const std::string SA_EXIT = "DSCREEN_EXIT"; + +void ReportSaFail(const std::string &eventName, int32_t errCode, int32_t saId, const std::string &errMsg); +void ReportRegisterFail(const std::string &eventName, int32_t errCode, const std::string &devId, + const std::string &dhId, const std::string &errMsg); +void ReportUnRegisterFail(const std::string &eventName, int32_t errCode, const std::string &devId, + const std::string &dhId, const std::string &errMsg); +void ReportWindowFail(const std::string &eventName, int32_t errCode, const std::string &errMsg); +void ReportVideoEncoderFail(const std::string &eventName, int32_t errCode, int32_t width, int32_t height, + uint8_t format, const std::string &errMsg); +void ReportVideoDecoderFail(const std::string eventName, int32_t errCode, int32_t width, int32_t height, + uint8_t format, const std::string &errMsg); +void ReportSoftbusSessionServerFail(const std::string &eventName, int32_t errCode, const std::string &pkgName, + const std::string &sessionName, const std::string &errMsg); +void ReportSoftbusSessionFail(const std::string &eventName, int32_t errCode, const std::string &sessName, + const std::string &errMsg); + +void ReportSaEvent(const std::string &eventName, int32_t saId, const std::string &errMsg); +void ReportRegisterScreenEvent(const std::string &eventName, const std::string &devId, const std::string &dhId, + const std::string &errMsg); +void ReportUnRegisterScreenEvent(const std::string &eventName, const std::string &devId, const std::string &dhId, + const std::string &errMsg); +void ReportScreenMirrorEvent(const std::string &eventName, const std::string &devId, const std::string &dhId, + const std::string &errMsg); } // namespace DistributedHardware } // namespace OHOS #endif \ No newline at end of file diff --git a/common/src/dscreen_hisysevent.cpp b/common/src/dscreen_hisysevent.cpp index 245f7fc8..c0d8ef34 100644 --- a/common/src/dscreen_hisysevent.cpp +++ b/common/src/dscreen_hisysevent.cpp @@ -12,23 +12,192 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#include "dscreen_hisysevent.h" #include #include "dscreen_errcode.h" #include "dscreen_log.h" -#include "dscreen_hisysevent.h" namespace OHOS { namespace DistributedHardware { -void ReportScreenEvent(const std::string &eventName, const std::string &errMsg) + +void ReportSaFail(const std::string &eventName, int32_t errCode, int32_t saId, const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, + "ERRCODE", errCode, + "SAID", saId, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportRegisterFail(const std::string &eventName, int32_t errCode, const std::string &devId, + const std::string &dhId, const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, + "ERRCODE", errCode, + "DEVID", devId, + "DHID", dhId, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportUnRegisterFail(const std::string &eventName, int32_t errCode, const std::string &devId, + const std::string &dhId, const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, + "ERRCODE", errCode, + "DEVID", devId, + "DHID", dhId, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportWindowFail(const std::string &eventName, int32_t errCode, const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, + "ERRCODE", errCode, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportVideoEncoderFail(const std::string &eventName, int32_t errCode, int32_t width, int32_t height, + uint8_t format, const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, + "ERRCODE", errCode, + "WIDTH", width, + "HEIGHT", height, + "FORMAT", format, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportVideoDecoderFail(const std::string eventName, int32_t errCode, int32_t width, int32_t height, + uint8_t format, const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, + "ERRCODE", errCode, + "WIDTH", width, + "HEIGHT", height, + "FORMAT", format, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportSoftbusSessionServerFail(const std::string &eventName, int32_t errCode, const std::string &pkgName, + const std::string &sessionName, const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, + "ERRCODE", errCode, + "PKGNAME", pkgName, + "SESSIONNAME", sessionName, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportSoftbusSessionFail(const std::string &eventName, int32_t errCode, const std::string &sessName, + const std::string &errMsg) { int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, eventName, OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, - "PID", getpid(), - "UID", getuid(), + "ERRCODE", errCode, + "SESSIONNAME", sessName, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportSaEvent(const std::string &eventName, int32_t saId, const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR, + "SAID", saId, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportRegisterScreenEvent(const std::string &eventName, const std::string &devId, const std::string &dhId, + const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR, + "DEVID", devId, + "DHID", dhId, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportUnRegisterScreenEvent(const std::string &eventName, const std::string &devId, const std::string &dhId, + const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR, + "DEVID", devId, + "DHID", dhId, + "MSG", errMsg); + if (res != DH_SUCCESS) { + DHLOGE("Write HiSysEvent error, res:%d", res); + } +} + +void ReportScreenMirrorEvent(const std::string &eventName, const std::string &devId, const std::string &dhId, + const std::string &errMsg) +{ + int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( + OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, + eventName, + OHOS::HiviewDFX::HiSysEvent::EventType::BEHAVIOR, + "DEVID", devId, + "DHID", dhId, "MSG", errMsg); if (res != DH_SUCCESS) { DHLOGE("Write HiSysEvent error, res:%d", res); diff --git a/hisysevent.yaml b/hisysevent.yaml index bf0bf5d2..bf7bb1c2 100644 --- a/hisysevent.yaml +++ b/hisysevent.yaml @@ -39,49 +39,90 @@ domain: DISTSCREEN -SA_ERROR: - __BASE: {type: FAULT, level: CRITICAL, desc: dscreen sa error occured} - PID: {type: INT32, desc: dscreen pid} - UID: {type: INT32, desc: dscreen uid} - MSG: {type: STRING, desc: dscreen sa error info} - -VIRTUALSCREEN_ERROR: - __BASE: {type: FAULT, level: CRITICAL, desc: virtual screen error occured} - PID: {type: INT32, desc: dscreen pid} - UID: {type: INT32, desc: dscreen uid} - MSG: {type: STRING, desc: dscreen virtual screen error info} - -SOFTBUS_SESSIONSERVER_ERROR: - __BASE: {type: FAULT, level: CRITICAL, desc: softbus sessionserver error occured} - PID: {type: INT32, desc: dscreen pid} - UID: {type: INT32, desc: dscreen uid} +DSCREEN_INIT_FAIL: + __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen init sa event} + ERRCODE: {type: INT32, desc: dscreen init fail error code} + SAID: {type: INT32, desc: dscreen SAID} + MSG: {type: STRING, desc: dscreen init sa event} + +DSCREEN_REGISTER_FAIL: + __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen register event} + ERRCODE: {type: INT32, desc: dscreen register fail error code} + DEVID: {type: STRING, desc: dscreen devId} + DHID: {type: STRING, desc: dscreen dhId} + MSG: {type: STRING, desc: dscreen register event} + +DSCREEN_UNREGISTER_FAIL: + __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen unregister event} + ERRCODE: {type: INT32, desc: dscreen unregister fail error code} + DEVID: {type: STRING, desc: dscreen devId} + DHID: {type: STRING, desc: dscreen dhId} + MSG: {type: STRING, desc: dscreen unregister event} + +DSCREEN_WINDOW_FAIL: + __BASE: {type: FAULT, level: CRITICAL, desc: dscreen sink window error event} + ERRCODE: {type: INT32, desc: dscreen sink window error code} + MSG: {type: STRING, desc: dscreen sink window error info} + +DSCREEN_ENCODE_FAIL: + __BASE: {type: FAULT, level: CRITICAL, desc: dscreen video encoder error event} + ERRCODE: {type: INT32, desc: dscreen encoder error code} + WIDTH: {type: INT32, desc: dscreen width} + HEIGHT: {type: INT32, desc: dscreen height} + FORMAT: {type: UINT32, desc: dscreen format} + MSG: {type: STRING, desc: dscreen video encoder error info} + +DSCREEN_DECODE_FAIL: + __BASE: {type: FAULT, level: CRITICAL, desc: dscreen video decoder error event} + ERRCODE: {type: INT32, desc: dscreen decoder error code} + WIDTH: {type: INT32, desc: dscreen width} + HEIGHT: {type: INT32, desc: dscreen height} + FORMAT: {type: UINT32, desc: dscreen format} + MSG: {type: STRING, desc: dscreen video decoder error info} + +DSCREEN_CREATE_SESSIONSVR_FAIL: + __BASE: {type: FAULT, level: CRITICAL, desc: dscreen softbus sessionserver error event} + ERRCODE: {type: INT32, desc: dscreen create session server fail error code} PKGNAME: {type: STRING, desc: softbus package name} SESSIONNAME: {type: STRING, desc: softbus session name} MSG: {type: STRING, desc: dscreen softbus sessionserver error info} -SOFTBUS_SESSION_ERROR: - __BASE: {type: FAULT, level: CRITICAL, desc: softbus session error occured} - PID: {type: INT32, desc: dscreen pid} - UID: {type: INT32, desc: dscreen uid} - MYSESSIONNAME: {type: STRING, desc: softbus my session name} - PEERSESSIONNAME: {type: STRING, desc: softbus peer session name} - PEERDEVID: {type: STRING, desc: peer network id} +DSCREEN_OPEN_SESSION_FAIL: + __BASE: {type: FAULT, level: CRITICAL, desc: dscreen softbus session error event} + ERRCODE: {type: INT32, desc: dscreen open session fail error code} + SESSIONNAME: {type: STRING, desc: softbus my session name} MSG: {type: STRING, desc: dscreen softbus session error info} -VIDEO_ENCODER_ERROR: - __BASE: {type: FAULT, level: CRITICAL, desc: video encoder error occured} - PID: {type: INT32, desc: dscreen pid} - UID: {type: INT32, desc: dscreen uid} - MSG: {type: STRING, desc: dscreen video encoder error info} +DSCREEN_INIT: + __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen init sa event} + SAID: {type: INT32, desc: dscreen SAID} + MSG: {type: STRING, desc: dscreen init sa event} -VIDEO_DECODER_ERROR: - __BASE: {type: FAULT, level: CRITICAL, desc: video decoder error occured} - PID: {type: INT32, desc: dscreen pid} - UID: {type: INT32, desc: dscreen uid} - MSG: {type: STRING, desc: dscreen video decoder error info} +DSCREEN_EXIT: + __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen release sa event} + SAID: {type: INT32, desc: dscreen SAID} + MSG: {type: STRING, desc: dscreen release sa event} + +DSCREEN_REGISTER: + __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen register event} + DEVID: {type: STRING, desc: dscreen devId} + DHID: {type: STRING, desc: dscreen dhId} + MSG: {type: STRING, desc: dscreen register event} + +DSCREEN_UNREGISTER: + __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen unregister event} + DEVID: {type: STRING, desc: dscreen devId} + DHID: {type: STRING, desc: dscreen dhId} + MSG: {type: STRING, desc: dscreen unregister event} + +DSCREEN_PROJECT_START: + __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen open event} + DEVID: {type: STRING, desc: dscreen devId} + DHID: {type: STRING, desc: dscreen dhId} + MSG: {type: STRING, desc: dscreen open event} -WINDOW_ERROR: - __BASE: {type: FAULT, level: CRITICAL, desc: screenregion window error occured} - PID: {type: INT32, desc: dscreen pid} - UID: {type: INT32, desc: dscreen uid} - MSG: {type: STRING, desc: dscreen virtual window error info} \ No newline at end of file +DSCREEN_PROJECT_END: + __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen close event} + DEVID: {type: STRING, desc: dscreen devId} + DHID: {type: STRING, desc: dscreen dhId} + MSG: {type: STRING, desc: dscreen close event} \ No newline at end of file diff --git a/interfaces/innerkits/native_cpp/screen_sink/src/callback/dscreen_sink_load_callback.cpp b/interfaces/innerkits/native_cpp/screen_sink/src/callback/dscreen_sink_load_callback.cpp index dec2afe0..97821d2a 100644 --- a/interfaces/innerkits/native_cpp/screen_sink/src/callback/dscreen_sink_load_callback.cpp +++ b/interfaces/innerkits/native_cpp/screen_sink/src/callback/dscreen_sink_load_callback.cpp @@ -16,6 +16,7 @@ #include +#include "dscreen_constants.h" #include "dscreen_errcode.h" #include "dscreen_hisysevent.h" #include "dscreen_log.h" @@ -42,7 +43,8 @@ void DScreenSinkLoadCallback::OnLoadSystemAbilitySuccess( void DScreenSinkLoadCallback::OnLoadSystemAbilityFail(int32_t systemAbilityId) { DHLOGE("load screen SA failed, systemAbilityId:%d", systemAbilityId); - ReportScreenEvent(SA_ERROR, "dscreen sink OnLoadSystemAbilityFail."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + "dscreen sink OnLoadSystemAbilityFail."); } } } \ No newline at end of file diff --git a/interfaces/innerkits/native_cpp/screen_sink/src/dscreen_sink_handler.cpp b/interfaces/innerkits/native_cpp/screen_sink/src/dscreen_sink_handler.cpp index 6938403e..d2ce2cf0 100644 --- a/interfaces/innerkits/native_cpp/screen_sink/src/dscreen_sink_handler.cpp +++ b/interfaces/innerkits/native_cpp/screen_sink/src/dscreen_sink_handler.cpp @@ -51,6 +51,8 @@ int32_t DScreenSinkHandler::InitSink(const std::string ¶ms) sptr samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (!samgr) { DHLOGE("Failed to get system ability mgr."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_GET_SAMGR_FAIL, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + "dscreen sink get samgr failed."); return ERR_DH_SCREEN_SA_GET_SAMGR_FAIL; } sptr loadCallback = new DScreenSinkLoadCallback(params); @@ -59,7 +61,8 @@ int32_t DScreenSinkHandler::InitSink(const std::string ¶ms) if (ret != ERR_OK) { DHLOGE("Failed to Load systemAbility, systemAbilityId:%d, ret code:%d", DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, ret); - ReportScreenEvent(SA_ERROR, "dscreen sink LoadSystemAbility call failed."); + ReportSaFail(SA_ERROR, ret, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + "dscreen sink LoadSystemAbility call failed."); return ERR_DH_SCREEN_SA_GET_SINKPROXY_FAIL; } } @@ -68,7 +71,8 @@ int32_t DScreenSinkHandler::InitSink(const std::string ¶ms) [this]() { return dScreenSinkProxy_ != nullptr; }); if (!waitStatus) { DHLOGE("screen load sa timeout"); - ReportScreenEvent(SA_ERROR, "dscreen sink sa load timeout."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_LOAD_TIMEOUT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + "dscreen sink sa load timeout."); return ERR_DH_SCREEN_SA_LOAD_TIMEOUT; } @@ -85,10 +89,13 @@ void DScreenSinkHandler::FinishStartSA(const std::string ¶ms, dScreenSinkProxy_ = iface_cast(remoteObject); if ((!dScreenSinkProxy_) || (!dScreenSinkProxy_->AsObject())) { DHLOGE("Failed to get dscreen sink proxy."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + "dscreen sink get proxy failed."); return; } dScreenSinkProxy_->InitSink(params); proxyConVar_.notify_one(); + ReportSaEvent(SA_START, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink sa load success."); } int32_t DScreenSinkHandler::ReleaseSink() @@ -97,6 +104,8 @@ int32_t DScreenSinkHandler::ReleaseSink() std::lock_guard lock(proxyMutex_); if (!dScreenSinkProxy_) { DHLOGE("screen sink proxy not init."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + "dscreen sink proxy not init."); return ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT; } diff --git a/interfaces/innerkits/native_cpp/screen_source/src/callback/dscreen_source_load_callback.cpp b/interfaces/innerkits/native_cpp/screen_source/src/callback/dscreen_source_load_callback.cpp index 49ec00c6..0435d510 100644 --- a/interfaces/innerkits/native_cpp/screen_source/src/callback/dscreen_source_load_callback.cpp +++ b/interfaces/innerkits/native_cpp/screen_source/src/callback/dscreen_source_load_callback.cpp @@ -16,6 +16,7 @@ #include +#include "dscreen_constants.h" #include "dscreen_errcode.h" #include "dscreen_hisysevent.h" #include "dscreen_log.h" @@ -41,7 +42,8 @@ void DScreenSourceLoadCallback::OnLoadSystemAbilitySuccess( void DScreenSourceLoadCallback::OnLoadSystemAbilityFail(int32_t systemAbilityId) { DHLOGE("load screen SA failed, systemAbilityId:%d", systemAbilityId); - ReportScreenEvent(SA_ERROR, "dscreen source OnLoadSystemAbilityFail."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + "dscreen source OnLoadSystemAbilityFail."); } } } diff --git a/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp b/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp index fec82f9f..ea154c58 100644 --- a/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp +++ b/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp @@ -56,6 +56,8 @@ int32_t DScreenSourceHandler::InitSource(const std::string ¶ms) sptr samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (!samgr) { DHLOGE("Failed to get system ability mgr."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_GET_SAMGR_FAIL, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + "dscreen source get samgr failed."); return ERR_DH_SCREEN_SA_GET_SAMGR_FAIL; } sptr loadCallback = new DScreenSourceLoadCallback(params); @@ -64,7 +66,8 @@ int32_t DScreenSourceHandler::InitSource(const std::string ¶ms) if (ret != ERR_OK) { DHLOGE("Failed to Load systemAbility, systemAbilityId:%d, ret code:%d", DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, ret); - ReportScreenEvent(SA_ERROR, "dscreen source LoadSystemAbility call failed."); + ReportSaFail(SA_ERROR, ret, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + "dscreen source LoadSystemAbility call failed."); return ERR_DH_SCREEN_SA_GET_SOURCEPROXY_FAIL; } } @@ -73,7 +76,8 @@ int32_t DScreenSourceHandler::InitSource(const std::string ¶ms) [this]() { return (dScreenSourceProxy_ != nullptr); }); if (!waitStatus) { DHLOGE("screen load sa timeout."); - ReportScreenEvent(SA_ERROR, "dscreen source sa load timeout."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_LOAD_TIMEOUT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + "dscreen source sa load timeout."); return ERR_DH_SCREEN_SA_LOAD_TIMEOUT; } @@ -90,10 +94,13 @@ void DScreenSourceHandler::FinishStartSA(const std::string ¶ms, dScreenSourceProxy_ = iface_cast(remoteObject); if ((!dScreenSourceProxy_) || (!dScreenSourceProxy_->AsObject())) { DHLOGE("Failed to get dscreen source proxy."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SOURCEPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + "dscreen source get proxy failed."); return; } dScreenSourceProxy_->InitSource(params, dScreenSourceCallback_); proxyConVar_.notify_one(); + ReportSaEvent(SA_START, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source sa load success."); } int32_t DScreenSourceHandler::ReleaseSource() @@ -102,6 +109,8 @@ int32_t DScreenSourceHandler::ReleaseSource() std::lock_guard lock(proxyMutex_); if (!dScreenSourceProxy_) { DHLOGE("screen source proxy not init."); + ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SOURCEPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + "dscreen source proxy not init."); return ERR_DH_SCREEN_SA_SOURCEPROXY_NOT_INIT; } int32_t ret = dScreenSourceProxy_->ReleaseSource(); diff --git a/services/screenclient/src/screen_client_window_adapter.cpp b/services/screenclient/src/screen_client_window_adapter.cpp index 30c09c50..8b61b2f6 100644 --- a/services/screenclient/src/screen_client_window_adapter.cpp +++ b/services/screenclient/src/screen_client_window_adapter.cpp @@ -64,7 +64,6 @@ sptr ScreenClientWindowAdapter::CreateWindow(std::shared_ptr window = Rosen::Window::Create(windowName, option); if (window == nullptr || window->GetSurfaceNode() == nullptr) { DHLOGE("Create screen client window failed."); - ReportScreenEvent(WINDOW_ERROR, "create window failed."); return nullptr; } auto surface = window->GetSurfaceNode()->GetSurface(); @@ -113,7 +112,6 @@ int32_t ScreenClientWindowAdapter::ShowWindow(int32_t windowId) } if (OHOS::Rosen::WMError::WM_OK != window->Show()) { DHLOGE("Show window failed."); - ReportScreenEvent(WINDOW_ERROR, "show window failed."); return ERR_DH_SCREEN_SCREENCLIENT_SHOW_WINDOW_ERROR; } DHLOGD("Show window (windowId = %d) success.", windowId); diff --git a/services/screenservice/sinkservice/BUILD.gn b/services/screenservice/sinkservice/BUILD.gn index 6849e2e5..60558034 100644 --- a/services/screenservice/sinkservice/BUILD.gn +++ b/services/screenservice/sinkservice/BUILD.gn @@ -18,6 +18,7 @@ import( ohos_shared_library("distributed_screen_sink") { include_dirs = [ + "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include", "//third_party/json/include", "//utils/native/base/include", "//utils/system/safwk/native/include", diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp index 94aabb65..a33b685a 100644 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp +++ b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp @@ -24,6 +24,7 @@ #include "dscreen_constants.h" #include "dscreen_errcode.h" +#include "dscreen_hisysevent.h" #include "dscreen_log.h" #include "dscreen_util.h" @@ -78,6 +79,7 @@ int32_t DScreenSinkService::ReleaseSink() DHLOGI("ReleaseSink"); ScreenRegionManager::GetInstance().ReleaseAllRegions(); DHLOGI("exit sink sa process"); + ReportSaEvent(SA_EXIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink sa exit success."); exit(0); return DH_SUCCESS; } diff --git a/services/screenservice/sinkservice/screenregionmgr/src/screenregion.cpp b/services/screenservice/sinkservice/screenregionmgr/src/screenregion.cpp index cc3b4e28..88e7c765 100644 --- a/services/screenservice/sinkservice/screenregionmgr/src/screenregion.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/src/screenregion.cpp @@ -17,6 +17,7 @@ #include "dscreen_constants.h" #include "dscreen_errcode.h" +#include "dscreen_hisysevent.h" #include "dscreen_log.h" #include "dscreen_util.h" #include "screen_client.h" @@ -99,17 +100,20 @@ int32_t ScreenRegion::SetUp() windowId_ = ScreenClient::GetInstance().AddWindow(windowProperty); if (windowId_ < 0) { DHLOGE("AddWindow failed."); + ReportWindowFail(WINDOW_ERROR, ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED, "AddWindow failed."); return ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED; } int32_t ret = ScreenClient::GetInstance().ShowWindow(windowId_); if (ret != DH_SUCCESS) { DHLOGE("show window failed."); + ReportWindowFail(WINDOW_ERROR, ret, "show window failed."); return ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED; } sptr surface = ScreenClient::GetInstance().GetSurface(windowId_); if (!surface) { DHLOGE("get window surface failed."); + ReportWindowFail(WINDOW_ERROR, ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED, "get window surface failed."); return ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED; } diff --git a/services/screenservice/sourceservice/BUILD.gn b/services/screenservice/sourceservice/BUILD.gn index 7421c706..dc742b91 100644 --- a/services/screenservice/sourceservice/BUILD.gn +++ b/services/screenservice/sourceservice/BUILD.gn @@ -18,6 +18,7 @@ import( ohos_shared_library("distributed_screen_source") { include_dirs = [ + "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include", "//third_party/json/include", "${windowmanager_path}/interfaces/innerkits/dm", "//utils/native/base/include", diff --git a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp index ca5839b5..896032c4 100644 --- a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp @@ -20,6 +20,7 @@ #include "dscreen_constants.h" #include "dscreen_errcode.h" +#include "dscreen_hisysevent.h" #include "dscreen_log.h" #include "dscreen_util.h" #include "screen_manager_adapter.h" @@ -198,6 +199,8 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) DHLOGE("enable param json is invalid."); dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, "enable param json is invalid."); + ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), + GetAnonyString(dhId_).c_str(), "enable param json is invalid."); return; } @@ -207,6 +210,8 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) DHLOGE("enable param is invalid."); dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, "enable param is invalid."); + ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), + GetAnonyString(dhId_).c_str(), "enable param is invalid."); return; } @@ -219,6 +224,8 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) DHLOGE("negotiate codec type failed."); dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, "negotiate codec type failed."); + ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), + GetAnonyString(dhId_).c_str(), "negotiate codec type failed."); return; } @@ -227,11 +234,15 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) DHLOGE("create virtual screen failed."); dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, "create virtual screen failed."); + ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), + GetAnonyString(dhId_).c_str(), "create virtual screen failed."); return; } screenId_ = screenId; SetState(ENABLED); dscreenCallback_->OnRegResult(shared_from_this(), taskId, DH_SUCCESS, ""); + ReportRegisterScreenEvent(ENABLE_REGISTER, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), + "dscreen enable success."); } int32_t DScreen::NegotiateCodecType(const std::string &remoteCodecInfoStr) @@ -284,10 +295,14 @@ void DScreen::HandleDisable(const std::string &taskId) DHLOGE("remove virtual screen failed."); dscreenCallback_->OnUnregResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_DISABLE_FAILED, "remove virtual screen failed."); + ReportUnRegisterFail(UNREGISTER_ERROR, ERR_DH_SCREEN_SA_DISABLE_FAILED, GetAnonyString(devId_).c_str(), + GetAnonyString(dhId_).c_str(), "remove virtual screen failed."); return; } SetState(DISABLED); dscreenCallback_->OnUnregResult(shared_from_this(), taskId, DH_SUCCESS, ""); + ReportUnRegisterScreenEvent(DISABLE_UNREGISTER, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), + "dscreen disable success."); } void DScreen::HandleConnect() @@ -311,6 +326,8 @@ void DScreen::HandleConnect() return; } SetState(CONNECTED); + ReportScreenMirrorEvent(PROJECT_START, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), + "dscreen connect success"); } void DScreen::HandleDisconnect() @@ -329,6 +346,8 @@ void DScreen::HandleDisconnect() return; } SetState(ENABLED); + ReportScreenMirrorEvent(PROJECT_END, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), + "dscreen disconnect success"); } int32_t DScreen::SetUp() diff --git a/services/screenservice/sourceservice/dscreenmgr/src/screen_manager_adapter.cpp b/services/screenservice/sourceservice/dscreenmgr/src/screen_manager_adapter.cpp index edbe1baf..07e6e513 100644 --- a/services/screenservice/sourceservice/dscreenmgr/src/screen_manager_adapter.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/src/screen_manager_adapter.cpp @@ -47,7 +47,6 @@ uint64_t ScreenMgrAdapter::CreateVirtualScreen(const std::string &devId, const s Rosen::DMError err = Rosen::ScreenManager::GetInstance().DestroyVirtualScreen(iter->second); if (err != Rosen::DMError::DM_OK) { DHLOGE("remove virtual screen failed, screenId:%ulld", iter->second); - ReportScreenEvent(VIRTUALSCREEN_ERROR, "destroy virtual screen failed."); return SCREEN_ID_INVALID; } screenIdMap_.erase(screenName); @@ -64,9 +63,6 @@ uint64_t ScreenMgrAdapter::CreateVirtualScreen(const std::string &devId, const s }; uint64_t screenId = Rosen::ScreenManager::GetInstance().CreateVirtualScreen(option); - if (screenId == SCREEN_ID_INVALID) { - ReportScreenEvent(VIRTUALSCREEN_ERROR, "create virtual screen failed."); - } screenIdMap_.emplace(screenName, screenId); return screenId; } @@ -117,7 +113,6 @@ int32_t ScreenMgrAdapter::RemoveVirtualScreen(uint64_t screenId) Rosen::DMError err = Rosen::ScreenManager::GetInstance().DestroyVirtualScreen(screenId); if (err != Rosen::DMError::DM_OK) { DHLOGE("remove virtual screen failed, screenId:%ulld", screenId); - ReportScreenEvent(VIRTUALSCREEN_ERROR, "destroy virtual screen failed."); return ERR_DH_SCREEN_SA_REMOVE_VIRTUALSCREEN_FAIL; } return DH_SUCCESS; diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index 5d718237..80dbf9d8 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -24,6 +24,7 @@ #include "dscreen_constants.h" #include "dscreen_errcode.h" +#include "dscreen_hisysevent.h" #include "dscreen_log.h" #include "dscreen_util.h" @@ -94,6 +95,7 @@ int32_t DScreenSourceService::ReleaseSource() return ret; } DHLOGI("exit source sa process"); + ReportSaEvent(SA_EXIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source sa exit success."); exit(0); return DH_SUCCESS; } @@ -110,6 +112,8 @@ int32_t DScreenSourceService::RegisterDistributedHardware(const std::string &dev if (ret != DH_SUCCESS) { DHLOGE("enable distributedScreen failed. devId: %s, dhId: %s, reqId: %s, attrs: %s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str(), reqId.c_str(), attrs.c_str()); + ReportRegisterFail(REGISTER_ERROR, ret, GetAnonyString(devId).c_str(), + GetAnonyString(dhId).c_str(), "enable distributedScreen failed."); return ERR_DH_SCREEN_SA_ENABLE_FAILED; } return DH_SUCCESS; @@ -123,6 +127,8 @@ int32_t DScreenSourceService::UnregisterDistributedHardware(const std::string &d if (ret != DH_SUCCESS) { DHLOGE("disable distributedScreen failed. devId: %s, dhId: %s, reqId: %s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str(), reqId.c_str()); + ReportUnRegisterFail(UNREGISTER_ERROR, ret, GetAnonyString(devId).c_str(), + GetAnonyString(dhId).c_str(), "disable distributedScreen failed."); return ERR_DH_SCREEN_SA_DISABLE_FAILED; } return DH_SUCCESS; diff --git a/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp b/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp index 6097c4a5..900a6cb4 100644 --- a/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp +++ b/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp @@ -19,6 +19,7 @@ #include "dscreen_constants.h" #include "dscreen_errcode.h" +#include "dscreen_hisysevent.h" #include "dscreen_log.h" #include "dscreen_util.h" @@ -77,6 +78,7 @@ int32_t ScreenDataChannelImpl::OpenSession() SoftbusAdapter::GetInstance().OpenSoftbusSession(DATA_SESSION_NAME, DATA_SESSION_NAME, peerDevId_); if (sessionId < 0) { DHLOGE("%s: Open screen session failed, ret: %d", LOG_TAG, sessionId); + ReportSoftbusSessionFail(SOFTBUS_SESSION_ERROR, sessionId, DATA_SESSION_NAME, "Open screen session failed"); return ERR_DH_SCREEN_TRANS_ERROR; } sessionId_ = sessionId; diff --git a/services/screentransport/screensinkprocessor/decoder/src/image_sink_decoder.cpp b/services/screentransport/screensinkprocessor/decoder/src/image_sink_decoder.cpp index 05e05024..7c6309ec 100644 --- a/services/screentransport/screensinkprocessor/decoder/src/image_sink_decoder.cpp +++ b/services/screentransport/screensinkprocessor/decoder/src/image_sink_decoder.cpp @@ -79,7 +79,6 @@ int32_t ImageSinkDecoder::StartDecoder() ret = videoDecoder_->Start(); if (ret != Media::MSERR_OK) { DHLOGE("%s: Start decoder failed.", LOG_TAG); - ReportScreenEvent(VIDEO_DECODER_ERROR, "video decoder start failed."); return ERR_DH_SCREEN_CODEC_START_FAILED; } StartInputThread(); @@ -104,7 +103,6 @@ int32_t ImageSinkDecoder::StopDecoder() ret = videoDecoder_->Stop(); if (ret != Media::MSERR_OK) { DHLOGE("%s: Stop decoder failed.", LOG_TAG); - ReportScreenEvent(VIDEO_DECODER_ERROR, "video decoder stop failed."); return ERR_DH_SCREEN_CODEC_STOP_FAILED; } StopInputThread(); diff --git a/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp b/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp index 4e8ec8a4..e1ba75bf 100644 --- a/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp +++ b/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp @@ -16,6 +16,7 @@ #include "image_sink_processor.h" #include "dscreen_errcode.h" +#include "dscreen_hisysevent.h" #include "dscreen_hitrace.h" #include "dscreen_log.h" @@ -49,6 +50,8 @@ int32_t ImageSinkProcessor::ReleaseImageProcessor() DHLOGI("%s: ReleaseImageProcessor.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -57,6 +60,8 @@ int32_t ImageSinkProcessor::ReleaseImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: ReleaseDecoder failed.", LOG_TAG); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "ReleaseDecoder failed."); return ret; } @@ -68,6 +73,8 @@ int32_t ImageSinkProcessor::StartImageProcessor() DHLOGI("%s: StartImageProcessor.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -76,6 +83,8 @@ int32_t ImageSinkProcessor::StartImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: StartDecoder failed ret:%d.", LOG_TAG, ret); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "StartDecoder failed."); return ret; } @@ -87,6 +96,8 @@ int32_t ImageSinkProcessor::StopImageProcessor() DHLOGI("%s: StopImageProcessor.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -95,6 +106,8 @@ int32_t ImageSinkProcessor::StopImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: StopDecoder failed ret:%d.", LOG_TAG, ret); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "StopDecoder failed."); return ret; } @@ -106,12 +119,16 @@ int32_t ImageSinkProcessor::SetImageSurface(sptr &surface) DHLOGI("%s: SetImageSurface.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } int32_t ret = imageDecoder_->SetOutputSurface(surface); if (ret != DH_SUCCESS) { DHLOGE("%s: SetOutputSurface failed ret:%d.", LOG_TAG, ret); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "SetOutputSurface failed."); return ret; } @@ -123,12 +140,16 @@ int32_t ImageSinkProcessor::ProcessImage(const std::shared_ptr &data DHLOGI("%s: ProcessImage.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } int32_t ret = imageDecoder_->InputScreenData(data); if (ret != DH_SUCCESS) { DHLOGE("%s: InputScreenData failed ret:%d.", LOG_TAG, ret); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "InputScreenData failed."); return ret; } diff --git a/services/screentransport/screensinktrans/BUILD.gn b/services/screentransport/screensinktrans/BUILD.gn index 34f70156..e3ff3072 100644 --- a/services/screentransport/screensinktrans/BUILD.gn +++ b/services/screentransport/screensinktrans/BUILD.gn @@ -18,6 +18,7 @@ import( ohos_shared_library("distributed_screen_sinktrans") { include_dirs = [ + "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include", "//third_party/json/include", "//foundation/graphic/graphic_2d/interfaces/innerkits/surface", "${fwk_common_path}/utils/include", diff --git a/services/screentransport/screensinktrans/src/screen_sink_trans.cpp b/services/screentransport/screensinktrans/src/screen_sink_trans.cpp index b5ffe1a6..cce3e99a 100644 --- a/services/screentransport/screensinktrans/src/screen_sink_trans.cpp +++ b/services/screentransport/screensinktrans/src/screen_sink_trans.cpp @@ -16,6 +16,7 @@ #include "screen_sink_trans.h" #include "dscreen_errcode.h" +#include "dscreen_hisysevent.h" #include "dscreen_hitrace.h" #include "dscreen_log.h" #include "image_sink_processor.h" @@ -247,6 +248,8 @@ int32_t ScreenSinkTrans::RegisterChannelListener() int32_t ret = screenChannel_->CreateSession(listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Register channel listenner failed ret: %d.", LOG_TAG, ret); + ReportSoftbusSessionServerFail(SOFTBUS_SESSIONSERVER_ERROR, ret, PKG_NAME, + DATA_SESSION_NAME, "dscreen sink Create session failed."); return ret; } @@ -266,6 +269,8 @@ int32_t ScreenSinkTrans::RegisterProcessorListener(const VideoParam &localParam, int32_t ret = imageProcessor_->ConfigureImageProcessor(localParam, remoteParam, listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Config image processor failed ret: %d.", LOG_TAG, ret); + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam.GetVideoWidth(), + localParam.GetVideoHeight(), localParam.GetVideoFormat(), "Config image processor failed."); return ret; } diff --git a/services/screentransport/screensourceprocessor/encoder/src/image_source_encoder.cpp b/services/screentransport/screensourceprocessor/encoder/src/image_source_encoder.cpp index 5c1f8389..a8872f4d 100644 --- a/services/screentransport/screensourceprocessor/encoder/src/image_source_encoder.cpp +++ b/services/screentransport/screensourceprocessor/encoder/src/image_source_encoder.cpp @@ -85,7 +85,6 @@ int32_t ImageSourceEncoder::StartEncoder() ret = videoEncoder_->Start(); if (ret != Media::MSERR_OK) { DHLOGE("%s: Start encoder failed.", LOG_TAG); - ReportScreenEvent(VIDEO_ENCODER_ERROR, "video encoder start failed."); return ERR_DH_SCREEN_CODEC_START_FAILED; } @@ -108,7 +107,6 @@ int32_t ImageSourceEncoder::StopEncoder() ret = videoEncoder_->Stop(); if (ret != Media::MSERR_OK) { DHLOGE("%s: Stop encoder failed.", LOG_TAG); - ReportScreenEvent(VIDEO_ENCODER_ERROR, "video encoder stop failed."); return ERR_DH_SCREEN_CODEC_STOP_FAILED; } diff --git a/services/screentransport/screensourceprocessor/src/image_source_processor.cpp b/services/screentransport/screensourceprocessor/src/image_source_processor.cpp index 7fe83010..b15e1ab5 100644 --- a/services/screentransport/screensourceprocessor/src/image_source_processor.cpp +++ b/services/screentransport/screensourceprocessor/src/image_source_processor.cpp @@ -16,6 +16,7 @@ #include "image_source_processor.h" #include "dscreen_errcode.h" +#include "dscreen_hisysevent.h" #include "dscreen_hitrace.h" #include "dscreen_log.h" @@ -47,6 +48,8 @@ int32_t ImageSourceProcessor::ReleaseImageProcessor() DHLOGI("%s: ReleaseImageProcessor.", LOG_TAG); if (!imageEncoder_) { DHLOGE("%s: Create screen encoder failed.", LOG_TAG); + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Create screen encoder failed."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -55,6 +58,8 @@ int32_t ImageSourceProcessor::ReleaseImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: Release screen encoder failed ret: %d.", LOG_TAG, ret); + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ret, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Release screen encoder failed."); return ret; } @@ -66,6 +71,8 @@ int32_t ImageSourceProcessor::StartImageProcessor() DHLOGI("%s: StartImageProcessor.", LOG_TAG); if (!imageEncoder_) { DHLOGE("%s: Create screen encoder failed.", LOG_TAG); + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Create screen encoder failed."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -74,6 +81,8 @@ int32_t ImageSourceProcessor::StartImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: Start screen encoder failed ret: %d.", LOG_TAG, ret); + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ret, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Start screen encoder failed."); return ret; } @@ -85,6 +94,8 @@ int32_t ImageSourceProcessor::StopImageProcessor() DHLOGI("%s: StopImageProcessor.", LOG_TAG); if (!imageEncoder_) { DHLOGE("%s: Create screen encoder failed.", LOG_TAG); + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Create screen encoder failed."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -93,6 +104,8 @@ int32_t ImageSourceProcessor::StopImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: Stop screen encoder failed ret: %d.", LOG_TAG, ret); + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ret, localParam_.GetVideoWidth(), + localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Stop screen encoder failed."); return ret; } diff --git a/services/screentransport/screensourcetrans/BUILD.gn b/services/screentransport/screensourcetrans/BUILD.gn index 9f77fd74..10909d86 100644 --- a/services/screentransport/screensourcetrans/BUILD.gn +++ b/services/screentransport/screensourcetrans/BUILD.gn @@ -18,6 +18,7 @@ import( ohos_shared_library("distributed_screen_sourcetrans") { include_dirs = [ + "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include", "//third_party/json/include", "//foundation/graphic/graphic_2d/interfaces/innerkits/surface", "${fwk_common_path}/utils/include", diff --git a/services/screentransport/screensourcetrans/src/screen_source_trans.cpp b/services/screentransport/screensourcetrans/src/screen_source_trans.cpp index 0bb3996d..c95ec95e 100644 --- a/services/screentransport/screensourcetrans/src/screen_source_trans.cpp +++ b/services/screentransport/screensourcetrans/src/screen_source_trans.cpp @@ -18,6 +18,7 @@ #include #include "dscreen_errcode.h" +#include "dscreen_hisysevent.h" #include "dscreen_hitrace.h" #include "dscreen_log.h" #include "image_source_processor.h" @@ -267,6 +268,8 @@ int32_t ScreenSourceTrans::RegisterChannelListener() int32_t ret = screenChannel_->CreateSession(listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Create session failed ret: %d.", LOG_TAG); + ReportSoftbusSessionServerFail(SOFTBUS_SESSIONSERVER_ERROR, ret, PKG_NAME, + DATA_SESSION_NAME, "dscreen source Create session failed."); return ret; } @@ -285,6 +288,8 @@ int32_t ScreenSourceTrans::RegisterProcessorListener(const VideoParam &localPara int32_t ret = imageProcessor_->ConfigureImageProcessor(localParam, remoteParam, listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Config image processor failed ret: %d.", LOG_TAG, ret); + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ret, localParam.GetVideoWidth(), + localParam.GetVideoHeight(), localParam.GetVideoFormat(), "Config image processor failed."); return ret; } diff --git a/services/softbusadapter/src/softbus_adapter.cpp b/services/softbusadapter/src/softbus_adapter.cpp index 885f7b9f..99781076 100644 --- a/services/softbusadapter/src/softbus_adapter.cpp +++ b/services/softbusadapter/src/softbus_adapter.cpp @@ -111,7 +111,6 @@ int32_t SoftbusAdapter::CreateSoftbusSessionServer(const std::string &pkgname, c int32_t ret = CreateSessionServer(pkgname.c_str(), sessionName.c_str(), &sessListener_); if (ret != DH_SUCCESS) { DHLOGE("%s: CreateSessionServer failed.", LOG_TAG); - ReportScreenEvent(SOFTBUS_SESSIONSERVER_ERROR, "create session server failed."); return ret; } } else { @@ -139,7 +138,6 @@ int32_t SoftbusAdapter::RemoveSoftbusSessionServer(const std::string &pkgname, c int32_t ret = RemoveSessionServer(pkgname.c_str(), sessionName.c_str()); if (ret != DH_SUCCESS) { DHLOGE("%s: RemoveSessionServer failed.", LOG_TAG); - ReportScreenEvent(SOFTBUS_SESSIONSERVER_ERROR, "remove session server failed."); return ret; } @@ -181,7 +179,6 @@ int32_t SoftbusAdapter::OpenSoftbusSession(const std::string &mySessionName, con int32_t sessionId = OpenSession(mySessionName.c_str(), peerSessionName.c_str(), peerDevId.c_str(), "0", &attr); if (sessionId < 0) { DHLOGE("%s: OpenSession failed sessionId:%d.", LOG_TAG, sessionId); - ReportScreenEvent(SOFTBUS_SESSION_ERROR, "open session failed."); return ERR_DH_SCREEN_ADAPTER_OPEN_SESSION_FAIL; } -- Gitee From 7f274554c5af3905e57355fb0fafbec0f0a25d90 Mon Sep 17 00:00:00 2001 From: gaoqiang_strong Date: Thu, 9 Jun 2022 16:24:46 +0800 Subject: [PATCH 2/4] hisysevent for screen Signed-off-by: gaoqiang_strong --- common/include/dscreen_errcode.h | 1 + common/include/dscreen_hisysevent.h | 8 ++-- common/src/dscreen_hisysevent.cpp | 11 ++--- .../dscreenmgr/include/dscreen.h | 1 + .../sourceservice/dscreenmgr/src/dscreen.cpp | 44 +++++++++++-------- .../src/image_sink_processor.cpp | 20 ++++----- .../screensinktrans/src/screen_sink_trans.cpp | 2 +- .../src/image_source_processor.cpp | 12 ++--- .../src/screen_source_trans.cpp | 2 +- 9 files changed, 53 insertions(+), 48 deletions(-) diff --git a/common/include/dscreen_errcode.h b/common/include/dscreen_errcode.h index 95fd5c3f..0ffc29c2 100644 --- a/common/include/dscreen_errcode.h +++ b/common/include/dscreen_errcode.h @@ -55,6 +55,7 @@ enum DScreenErrorCode { ERR_DH_SCREEN_SA_DSCREEN_NEGOTIATE_CODEC_FAIL = -500031, ERR_DH_SCREEN_SA_LOAD_TIMEOUT = -500032, ERR_DH_SCREEN_SA_HIDUMPER_ERROR = -500033, + ERR_DH_SCREEN_SA_ENABLE_JSON_ERROR = -500034, // Transport component error code ERR_DH_SCREEN_TRANS_ERROR = -51000, ERR_DH_SCREEN_TRANS_TIMEOUT = -51001, diff --git a/common/include/dscreen_hisysevent.h b/common/include/dscreen_hisysevent.h index 7902424c..cbf458d0 100644 --- a/common/include/dscreen_hisysevent.h +++ b/common/include/dscreen_hisysevent.h @@ -44,10 +44,10 @@ void ReportRegisterFail(const std::string &eventName, int32_t errCode, const std void ReportUnRegisterFail(const std::string &eventName, int32_t errCode, const std::string &devId, const std::string &dhId, const std::string &errMsg); void ReportWindowFail(const std::string &eventName, int32_t errCode, const std::string &errMsg); -void ReportVideoEncoderFail(const std::string &eventName, int32_t errCode, int32_t width, int32_t height, - uint8_t format, const std::string &errMsg); -void ReportVideoDecoderFail(const std::string eventName, int32_t errCode, int32_t width, int32_t height, - uint8_t format, const std::string &errMsg); +void ReportVideoEncoderFail(const std::string &eventName, int32_t width, int32_t height, uint8_t format, + const std::string &errMsg); +void ReportVideoDecoderFail(const std::string eventName, int32_t width, int32_t height, uint8_t format, + const std::string &errMsg); void ReportSoftbusSessionServerFail(const std::string &eventName, int32_t errCode, const std::string &pkgName, const std::string &sessionName, const std::string &errMsg); void ReportSoftbusSessionFail(const std::string &eventName, int32_t errCode, const std::string &sessName, diff --git a/common/src/dscreen_hisysevent.cpp b/common/src/dscreen_hisysevent.cpp index c0d8ef34..0adb51c3 100644 --- a/common/src/dscreen_hisysevent.cpp +++ b/common/src/dscreen_hisysevent.cpp @@ -21,7 +21,6 @@ namespace OHOS { namespace DistributedHardware { - void ReportSaFail(const std::string &eventName, int32_t errCode, int32_t saId, const std::string &errMsg) { int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( @@ -81,14 +80,13 @@ void ReportWindowFail(const std::string &eventName, int32_t errCode, const std:: } } -void ReportVideoEncoderFail(const std::string &eventName, int32_t errCode, int32_t width, int32_t height, - uint8_t format, const std::string &errMsg) +void ReportVideoEncoderFail(const std::string &eventName, int32_t width, int32_t height, uint8_t format, + const std::string &errMsg) { int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, eventName, OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, - "ERRCODE", errCode, "WIDTH", width, "HEIGHT", height, "FORMAT", format, @@ -98,14 +96,13 @@ void ReportVideoEncoderFail(const std::string &eventName, int32_t errCode, int32 } } -void ReportVideoDecoderFail(const std::string eventName, int32_t errCode, int32_t width, int32_t height, - uint8_t format, const std::string &errMsg) +void ReportVideoDecoderFail(const std::string eventName, int32_t width, int32_t height, uint8_t format, + const std::string &errMsg) { int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, eventName, OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, - "ERRCODE", errCode, "WIDTH", width, "HEIGHT", height, "FORMAT", format, diff --git a/services/screenservice/sourceservice/dscreenmgr/include/dscreen.h b/services/screenservice/sourceservice/dscreenmgr/include/dscreen.h index f00fdf05..3729dd6f 100644 --- a/services/screenservice/sourceservice/dscreenmgr/include/dscreen.h +++ b/services/screenservice/sourceservice/dscreenmgr/include/dscreen.h @@ -97,6 +97,7 @@ private: void HandleDisable(const std::string &taskId); void HandleConnect(); void HandleDisconnect(); + int32_t CheckJsonData(json &attrJson); int32_t NegotiateCodecType(const std::string &remoteCodecInfoStr); int32_t SetUp(); int32_t Start(); diff --git a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp index 896032c4..87f83b9f 100644 --- a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp @@ -183,8 +183,7 @@ void DScreen::HandleTask(const std::shared_ptr &task) void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) { DHLOGI("HandleEnable, devId: %s, dhId: %s", GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str()); - if (curState_ == ENABLED || curState_ == ENABLING || - curState_ == CONNECTING || curState_ == CONNECTED) { + if (curState_ == ENABLED || curState_ == ENABLING || curState_ == CONNECTING || curState_ == CONNECTED) { dscreenCallback_->OnRegResult(shared_from_this(), taskId, DH_SUCCESS, ""); return; } @@ -195,23 +194,11 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) } json attrJson = json::parse(param, nullptr, false); - if (attrJson.is_discarded()) { - DHLOGE("enable param json is invalid."); - dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, - "enable param json is invalid."); - ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), - GetAnonyString(dhId_).c_str(), "enable param json is invalid."); - return; - } - - if (!attrJson.contains(KEY_SCREEN_WIDTH) || - !attrJson.contains(KEY_SCREEN_HEIGHT) || - !attrJson.contains(KEY_CODECTYPE)) { - DHLOGE("enable param is invalid."); - dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, - "enable param is invalid."); + int32_t ret = CheckJsonData(attrJson); + if (ret != DH_SUCCESS) { + DHLOGE("check json data failed."); ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), - GetAnonyString(dhId_).c_str(), "enable param is invalid."); + GetAnonyString(dhId_).c_str(), "check json data failed."); return; } @@ -219,7 +206,7 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) videoParam_->SetScreenHeight(attrJson[KEY_SCREEN_HEIGHT]); // negotiate codecType - int32_t ret = NegotiateCodecType(attrJson[KEY_CODECTYPE]); + ret = NegotiateCodecType(attrJson[KEY_CODECTYPE]); if (ret != DH_SUCCESS) { DHLOGE("negotiate codec type failed."); dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, @@ -245,6 +232,25 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) "dscreen enable success."); } +int32_t DScreen::CheckJsonData(json &attrJson) +{ + if (attrJson.is_discarded()) { + DHLOGE("enable param json is invalid."); + dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, + "enable param json is invalid."); + return ERR_DH_SCREEN_SA_ENABLE_JSON_ERROR; + } + + if (!attrJson.contains(KEY_SCREEN_WIDTH) || !attrJson.contains(KEY_SCREEN_HEIGHT) || + !attrJson.contains(KEY_CODECTYPE)) { + DHLOGE("enable param is invalid."); + dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, + "enable param is invalid."); + return ERR_DH_SCREEN_SA_ENABLE_JSON_ERROR; + } + return DH_SUCCESS; +} + int32_t DScreen::NegotiateCodecType(const std::string &remoteCodecInfoStr) { json remoteCodecArray = json::parse(remoteCodecInfoStr, nullptr, false); diff --git a/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp b/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp index e1ba75bf..054d26dd 100644 --- a/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp +++ b/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp @@ -50,7 +50,7 @@ int32_t ImageSinkProcessor::ReleaseImageProcessor() DHLOGI("%s: ReleaseImageProcessor.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -60,7 +60,7 @@ int32_t ImageSinkProcessor::ReleaseImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: ReleaseDecoder failed.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "ReleaseDecoder failed."); return ret; } @@ -73,7 +73,7 @@ int32_t ImageSinkProcessor::StartImageProcessor() DHLOGI("%s: StartImageProcessor.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -83,7 +83,7 @@ int32_t ImageSinkProcessor::StartImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: StartDecoder failed ret:%d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "StartDecoder failed."); return ret; } @@ -96,7 +96,7 @@ int32_t ImageSinkProcessor::StopImageProcessor() DHLOGI("%s: StopImageProcessor.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -106,7 +106,7 @@ int32_t ImageSinkProcessor::StopImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: StopDecoder failed ret:%d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "StopDecoder failed."); return ret; } @@ -119,7 +119,7 @@ int32_t ImageSinkProcessor::SetImageSurface(sptr &surface) DHLOGI("%s: SetImageSurface.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -127,7 +127,7 @@ int32_t ImageSinkProcessor::SetImageSurface(sptr &surface) int32_t ret = imageDecoder_->SetOutputSurface(surface); if (ret != DH_SUCCESS) { DHLOGE("%s: SetOutputSurface failed ret:%d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "SetOutputSurface failed."); return ret; } @@ -140,7 +140,7 @@ int32_t ImageSinkProcessor::ProcessImage(const std::shared_ptr &data DHLOGI("%s: ProcessImage.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -148,7 +148,7 @@ int32_t ImageSinkProcessor::ProcessImage(const std::shared_ptr &data int32_t ret = imageDecoder_->InputScreenData(data); if (ret != DH_SUCCESS) { DHLOGE("%s: InputScreenData failed ret:%d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam_.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "InputScreenData failed."); return ret; } diff --git a/services/screentransport/screensinktrans/src/screen_sink_trans.cpp b/services/screentransport/screensinktrans/src/screen_sink_trans.cpp index cce3e99a..2c8bcf5a 100644 --- a/services/screentransport/screensinktrans/src/screen_sink_trans.cpp +++ b/services/screentransport/screensinktrans/src/screen_sink_trans.cpp @@ -269,7 +269,7 @@ int32_t ScreenSinkTrans::RegisterProcessorListener(const VideoParam &localParam, int32_t ret = imageProcessor_->ConfigureImageProcessor(localParam, remoteParam, listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Config image processor failed ret: %d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, ret, localParam.GetVideoWidth(), + ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam.GetVideoWidth(), localParam.GetVideoHeight(), localParam.GetVideoFormat(), "Config image processor failed."); return ret; } diff --git a/services/screentransport/screensourceprocessor/src/image_source_processor.cpp b/services/screentransport/screensourceprocessor/src/image_source_processor.cpp index b15e1ab5..9036e931 100644 --- a/services/screentransport/screensourceprocessor/src/image_source_processor.cpp +++ b/services/screentransport/screensourceprocessor/src/image_source_processor.cpp @@ -48,7 +48,7 @@ int32_t ImageSourceProcessor::ReleaseImageProcessor() DHLOGI("%s: ReleaseImageProcessor.", LOG_TAG); if (!imageEncoder_) { DHLOGE("%s: Create screen encoder failed.", LOG_TAG); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Create screen encoder failed."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -58,7 +58,7 @@ int32_t ImageSourceProcessor::ReleaseImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: Release screen encoder failed ret: %d.", LOG_TAG, ret); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ret, localParam_.GetVideoWidth(), + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Release screen encoder failed."); return ret; } @@ -71,7 +71,7 @@ int32_t ImageSourceProcessor::StartImageProcessor() DHLOGI("%s: StartImageProcessor.", LOG_TAG); if (!imageEncoder_) { DHLOGE("%s: Create screen encoder failed.", LOG_TAG); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Create screen encoder failed."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -81,7 +81,7 @@ int32_t ImageSourceProcessor::StartImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: Start screen encoder failed ret: %d.", LOG_TAG, ret); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ret, localParam_.GetVideoWidth(), + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Start screen encoder failed."); return ret; } @@ -94,7 +94,7 @@ int32_t ImageSourceProcessor::StopImageProcessor() DHLOGI("%s: StopImageProcessor.", LOG_TAG); if (!imageEncoder_) { DHLOGE("%s: Create screen encoder failed.", LOG_TAG); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ERR_DH_SCREEN_TRANS_NULL_VALUE, localParam_.GetVideoWidth(), + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Create screen encoder failed."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -104,7 +104,7 @@ int32_t ImageSourceProcessor::StopImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: Stop screen encoder failed ret: %d.", LOG_TAG, ret); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ret, localParam_.GetVideoWidth(), + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Stop screen encoder failed."); return ret; } diff --git a/services/screentransport/screensourcetrans/src/screen_source_trans.cpp b/services/screentransport/screensourcetrans/src/screen_source_trans.cpp index c95ec95e..e10ce40f 100644 --- a/services/screentransport/screensourcetrans/src/screen_source_trans.cpp +++ b/services/screentransport/screensourcetrans/src/screen_source_trans.cpp @@ -288,7 +288,7 @@ int32_t ScreenSourceTrans::RegisterProcessorListener(const VideoParam &localPara int32_t ret = imageProcessor_->ConfigureImageProcessor(localParam, remoteParam, listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Config image processor failed ret: %d.", LOG_TAG, ret); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, ret, localParam.GetVideoWidth(), + ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam.GetVideoWidth(), localParam.GetVideoHeight(), localParam.GetVideoFormat(), "Config image processor failed."); return ret; } -- Gitee From a752386cabf9447f8b9c617eebcd2b39475442bc Mon Sep 17 00:00:00 2001 From: gaoqiang_strong Date: Thu, 9 Jun 2022 16:40:06 +0800 Subject: [PATCH 3/4] hisysevent for screen Signed-off-by: gaoqiang_strong --- .../screenservice/sourceservice/dscreenmgr/src/dscreen.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp index 87f83b9f..3cdc86d1 100644 --- a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp @@ -197,6 +197,8 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) int32_t ret = CheckJsonData(attrJson); if (ret != DH_SUCCESS) { DHLOGE("check json data failed."); + dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, + "enable param json is invalid."); ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "check json data failed."); return; @@ -236,16 +238,12 @@ int32_t DScreen::CheckJsonData(json &attrJson) { if (attrJson.is_discarded()) { DHLOGE("enable param json is invalid."); - dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, - "enable param json is invalid."); return ERR_DH_SCREEN_SA_ENABLE_JSON_ERROR; } if (!attrJson.contains(KEY_SCREEN_WIDTH) || !attrJson.contains(KEY_SCREEN_HEIGHT) || !attrJson.contains(KEY_CODECTYPE)) { DHLOGE("enable param is invalid."); - dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, - "enable param is invalid."); return ERR_DH_SCREEN_SA_ENABLE_JSON_ERROR; } return DH_SUCCESS; -- Gitee From c9610b43909174c283ad843c72f9206d59757164 Mon Sep 17 00:00:00 2001 From: gaoqiang_strong Date: Mon, 13 Jun 2022 15:06:47 +0800 Subject: [PATCH 4/4] modify hisysevent for screen Signed-off-by: gaoqiang_strong --- common/include/dscreen_hisysevent.h | 34 ++++------ common/src/dscreen_hisysevent.cpp | 65 +------------------ hisysevent.yaml | 43 ++---------- .../callback/dscreen_sink_load_callback.cpp | 2 +- .../screen_sink/src/dscreen_sink_handler.cpp | 12 ++-- .../callback/dscreen_source_load_callback.cpp | 2 +- .../src/dscreen_source_handler.cpp | 12 ++-- services/screendemo/decoder_demo.cpp | 18 ++--- .../src/dscreen_sink_service.cpp | 2 +- .../screenregionmgr/src/screenregion.cpp | 6 +- .../sourceservice/dscreenmgr/src/dscreen.cpp | 16 ++--- .../src/dscreen_source_service.cpp | 6 +- .../src/screen_data_channel_impl.cpp | 2 +- .../src/image_sink_processor.cpp | 30 +++------ .../screensinktrans/src/screen_sink_trans.cpp | 6 +- .../src/image_source_processor.cpp | 18 ++--- .../src/screen_source_trans.cpp | 6 +- 17 files changed, 79 insertions(+), 201 deletions(-) diff --git a/common/include/dscreen_hisysevent.h b/common/include/dscreen_hisysevent.h index cbf458d0..b16b102a 100644 --- a/common/include/dscreen_hisysevent.h +++ b/common/include/dscreen_hisysevent.h @@ -22,36 +22,24 @@ namespace OHOS { namespace DistributedHardware { -const std::string SA_ERROR = "DSCREEN_INIT_FAIL"; -const std::string REGISTER_ERROR = "DSCREEN_REGISTER_FAIL"; -const std::string UNREGISTER_ERROR = "DSCREEN_UNREGISTER_FAIL"; -const std::string WINDOW_ERROR = "DSCREEN_WINDOW_FAIL"; -const std::string VIDEO_ENCODER_ERROR = "DSCREEN_ENCODE_FAIL"; -const std::string VIDEO_DECODER_ERROR = "DSCREEN_DECODE_FAIL"; -const std::string SOFTBUS_SESSIONSERVER_ERROR = "DSCREEN_CREATE_SESSIONSVR_FAIL"; -const std::string SOFTBUS_SESSION_ERROR = "DSCREEN_OPEN_SESSION_FAIL"; +const std::string DSCREEN_INIT_FAIL = "DSCREEN_INIT_FAIL"; +const std::string DSCREEN_REGISTER_FAIL = "DSCREEN_REGISTER_FAIL"; +const std::string DSCREEN_UNREGISTER_FAIL = "DSCREEN_UNREGISTER_FAIL"; +const std::string DSCREEN_OPT_FAIL = "DSCREEN_OPT_FAIL"; -const std::string SA_START = "DSCREEN_INIT"; -const std::string ENABLE_REGISTER = "DSCREEN_REGISTER"; -const std::string DISABLE_UNREGISTER = "DSCREEN_UNREGISTER"; -const std::string PROJECT_START = "DSCREEN_PROJECT_START"; -const std::string PROJECT_END = "DSCREEN_PROJECT_END"; -const std::string SA_EXIT = "DSCREEN_EXIT"; +const std::string DSCREEN_INIT = "DSCREEN_INIT"; +const std::string DSCREEN_REGISTER = "DSCREEN_REGISTER"; +const std::string DSCREEN_UNREGISTER = "DSCREEN_UNREGISTER"; +const std::string DSCREEN_PROJECT_START = "DSCREEN_PROJECT_START"; +const std::string DSCREEN_PROJECT_END = "DSCREEN_PROJECT_END"; +const std::string DSCREEN_EXIT = "DSCREEN_EXIT"; void ReportSaFail(const std::string &eventName, int32_t errCode, int32_t saId, const std::string &errMsg); void ReportRegisterFail(const std::string &eventName, int32_t errCode, const std::string &devId, const std::string &dhId, const std::string &errMsg); void ReportUnRegisterFail(const std::string &eventName, int32_t errCode, const std::string &devId, const std::string &dhId, const std::string &errMsg); -void ReportWindowFail(const std::string &eventName, int32_t errCode, const std::string &errMsg); -void ReportVideoEncoderFail(const std::string &eventName, int32_t width, int32_t height, uint8_t format, - const std::string &errMsg); -void ReportVideoDecoderFail(const std::string eventName, int32_t width, int32_t height, uint8_t format, - const std::string &errMsg); -void ReportSoftbusSessionServerFail(const std::string &eventName, int32_t errCode, const std::string &pkgName, - const std::string &sessionName, const std::string &errMsg); -void ReportSoftbusSessionFail(const std::string &eventName, int32_t errCode, const std::string &sessName, - const std::string &errMsg); +void ReportOptFail(const std::string &eventName, int32_t errCode, const std::string &errMsg); void ReportSaEvent(const std::string &eventName, int32_t saId, const std::string &errMsg); void ReportRegisterScreenEvent(const std::string &eventName, const std::string &devId, const std::string &dhId, diff --git a/common/src/dscreen_hisysevent.cpp b/common/src/dscreen_hisysevent.cpp index 0adb51c3..102ab480 100644 --- a/common/src/dscreen_hisysevent.cpp +++ b/common/src/dscreen_hisysevent.cpp @@ -67,7 +67,7 @@ void ReportUnRegisterFail(const std::string &eventName, int32_t errCode, const s } } -void ReportWindowFail(const std::string &eventName, int32_t errCode, const std::string &errMsg) +void ReportOptFail(const std::string &eventName, int32_t errCode, const std::string &errMsg) { int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, @@ -80,69 +80,6 @@ void ReportWindowFail(const std::string &eventName, int32_t errCode, const std:: } } -void ReportVideoEncoderFail(const std::string &eventName, int32_t width, int32_t height, uint8_t format, - const std::string &errMsg) -{ - int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( - OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, - eventName, - OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, - "WIDTH", width, - "HEIGHT", height, - "FORMAT", format, - "MSG", errMsg); - if (res != DH_SUCCESS) { - DHLOGE("Write HiSysEvent error, res:%d", res); - } -} - -void ReportVideoDecoderFail(const std::string eventName, int32_t width, int32_t height, uint8_t format, - const std::string &errMsg) -{ - int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( - OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, - eventName, - OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, - "WIDTH", width, - "HEIGHT", height, - "FORMAT", format, - "MSG", errMsg); - if (res != DH_SUCCESS) { - DHLOGE("Write HiSysEvent error, res:%d", res); - } -} - -void ReportSoftbusSessionServerFail(const std::string &eventName, int32_t errCode, const std::string &pkgName, - const std::string &sessionName, const std::string &errMsg) -{ - int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( - OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, - eventName, - OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, - "ERRCODE", errCode, - "PKGNAME", pkgName, - "SESSIONNAME", sessionName, - "MSG", errMsg); - if (res != DH_SUCCESS) { - DHLOGE("Write HiSysEvent error, res:%d", res); - } -} - -void ReportSoftbusSessionFail(const std::string &eventName, int32_t errCode, const std::string &sessName, - const std::string &errMsg) -{ - int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( - OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_SCREEN, - eventName, - OHOS::HiviewDFX::HiSysEvent::EventType::FAULT, - "ERRCODE", errCode, - "SESSIONNAME", sessName, - "MSG", errMsg); - if (res != DH_SUCCESS) { - DHLOGE("Write HiSysEvent error, res:%d", res); - } -} - void ReportSaEvent(const std::string &eventName, int32_t saId, const std::string &errMsg) { int32_t res = OHOS::HiviewDFX::HiSysEvent::Write( diff --git a/hisysevent.yaml b/hisysevent.yaml index bf7bb1c2..25733e26 100644 --- a/hisysevent.yaml +++ b/hisysevent.yaml @@ -40,58 +40,29 @@ domain: DISTSCREEN DSCREEN_INIT_FAIL: - __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen init sa event} + __BASE: {type: FAULT, level: CRITICAL, desc: dscreen init sa event} ERRCODE: {type: INT32, desc: dscreen init fail error code} SAID: {type: INT32, desc: dscreen SAID} MSG: {type: STRING, desc: dscreen init sa event} DSCREEN_REGISTER_FAIL: - __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen register event} + __BASE: {type: FAULT, level: CRITICAL, desc: dscreen register event} ERRCODE: {type: INT32, desc: dscreen register fail error code} DEVID: {type: STRING, desc: dscreen devId} DHID: {type: STRING, desc: dscreen dhId} MSG: {type: STRING, desc: dscreen register event} DSCREEN_UNREGISTER_FAIL: - __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen unregister event} + __BASE: {type: FAULT, level: CRITICAL, desc: dscreen unregister event} ERRCODE: {type: INT32, desc: dscreen unregister fail error code} DEVID: {type: STRING, desc: dscreen devId} DHID: {type: STRING, desc: dscreen dhId} MSG: {type: STRING, desc: dscreen unregister event} -DSCREEN_WINDOW_FAIL: - __BASE: {type: FAULT, level: CRITICAL, desc: dscreen sink window error event} - ERRCODE: {type: INT32, desc: dscreen sink window error code} - MSG: {type: STRING, desc: dscreen sink window error info} - -DSCREEN_ENCODE_FAIL: - __BASE: {type: FAULT, level: CRITICAL, desc: dscreen video encoder error event} - ERRCODE: {type: INT32, desc: dscreen encoder error code} - WIDTH: {type: INT32, desc: dscreen width} - HEIGHT: {type: INT32, desc: dscreen height} - FORMAT: {type: UINT32, desc: dscreen format} - MSG: {type: STRING, desc: dscreen video encoder error info} - -DSCREEN_DECODE_FAIL: - __BASE: {type: FAULT, level: CRITICAL, desc: dscreen video decoder error event} - ERRCODE: {type: INT32, desc: dscreen decoder error code} - WIDTH: {type: INT32, desc: dscreen width} - HEIGHT: {type: INT32, desc: dscreen height} - FORMAT: {type: UINT32, desc: dscreen format} - MSG: {type: STRING, desc: dscreen video decoder error info} - -DSCREEN_CREATE_SESSIONSVR_FAIL: - __BASE: {type: FAULT, level: CRITICAL, desc: dscreen softbus sessionserver error event} - ERRCODE: {type: INT32, desc: dscreen create session server fail error code} - PKGNAME: {type: STRING, desc: softbus package name} - SESSIONNAME: {type: STRING, desc: softbus session name} - MSG: {type: STRING, desc: dscreen softbus sessionserver error info} - -DSCREEN_OPEN_SESSION_FAIL: - __BASE: {type: FAULT, level: CRITICAL, desc: dscreen softbus session error event} - ERRCODE: {type: INT32, desc: dscreen open session fail error code} - SESSIONNAME: {type: STRING, desc: softbus my session name} - MSG: {type: STRING, desc: dscreen softbus session error info} +DSCREEN_OPT_FAIL: + __BASE: {type: FAULT, level: CRITICAL, desc: dscreen opt event} + ERRCODE: {type: INT32, desc: dscreen opt fail error code} + MSG: {type: STRING, desc: dscreen opt event} DSCREEN_INIT: __BASE: {type: BEHAVIOR, level: MINOR, desc: dscreen init sa event} diff --git a/interfaces/innerkits/native_cpp/screen_sink/src/callback/dscreen_sink_load_callback.cpp b/interfaces/innerkits/native_cpp/screen_sink/src/callback/dscreen_sink_load_callback.cpp index 97821d2a..caec8439 100644 --- a/interfaces/innerkits/native_cpp/screen_sink/src/callback/dscreen_sink_load_callback.cpp +++ b/interfaces/innerkits/native_cpp/screen_sink/src/callback/dscreen_sink_load_callback.cpp @@ -43,7 +43,7 @@ void DScreenSinkLoadCallback::OnLoadSystemAbilitySuccess( void DScreenSinkLoadCallback::OnLoadSystemAbilityFail(int32_t systemAbilityId) { DHLOGE("load screen SA failed, systemAbilityId:%d", systemAbilityId); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink OnLoadSystemAbilityFail."); } } diff --git a/interfaces/innerkits/native_cpp/screen_sink/src/dscreen_sink_handler.cpp b/interfaces/innerkits/native_cpp/screen_sink/src/dscreen_sink_handler.cpp index d2ce2cf0..c6bc4f3b 100644 --- a/interfaces/innerkits/native_cpp/screen_sink/src/dscreen_sink_handler.cpp +++ b/interfaces/innerkits/native_cpp/screen_sink/src/dscreen_sink_handler.cpp @@ -51,7 +51,7 @@ int32_t DScreenSinkHandler::InitSink(const std::string ¶ms) sptr samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (!samgr) { DHLOGE("Failed to get system ability mgr."); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_GET_SAMGR_FAIL, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_GET_SAMGR_FAIL, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink get samgr failed."); return ERR_DH_SCREEN_SA_GET_SAMGR_FAIL; } @@ -61,7 +61,7 @@ int32_t DScreenSinkHandler::InitSink(const std::string ¶ms) if (ret != ERR_OK) { DHLOGE("Failed to Load systemAbility, systemAbilityId:%d, ret code:%d", DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, ret); - ReportSaFail(SA_ERROR, ret, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ret, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink LoadSystemAbility call failed."); return ERR_DH_SCREEN_SA_GET_SINKPROXY_FAIL; } @@ -71,7 +71,7 @@ int32_t DScreenSinkHandler::InitSink(const std::string ¶ms) [this]() { return dScreenSinkProxy_ != nullptr; }); if (!waitStatus) { DHLOGE("screen load sa timeout"); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_LOAD_TIMEOUT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_LOAD_TIMEOUT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink sa load timeout."); return ERR_DH_SCREEN_SA_LOAD_TIMEOUT; } @@ -89,13 +89,13 @@ void DScreenSinkHandler::FinishStartSA(const std::string ¶ms, dScreenSinkProxy_ = iface_cast(remoteObject); if ((!dScreenSinkProxy_) || (!dScreenSinkProxy_->AsObject())) { DHLOGE("Failed to get dscreen sink proxy."); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink get proxy failed."); return; } dScreenSinkProxy_->InitSink(params); proxyConVar_.notify_one(); - ReportSaEvent(SA_START, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink sa load success."); + ReportSaEvent(DSCREEN_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink sa load success."); } int32_t DScreenSinkHandler::ReleaseSink() @@ -104,7 +104,7 @@ int32_t DScreenSinkHandler::ReleaseSink() std::lock_guard lock(proxyMutex_); if (!dScreenSinkProxy_) { DHLOGE("screen sink proxy not init."); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink proxy not init."); return ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT; } diff --git a/interfaces/innerkits/native_cpp/screen_source/src/callback/dscreen_source_load_callback.cpp b/interfaces/innerkits/native_cpp/screen_source/src/callback/dscreen_source_load_callback.cpp index 0435d510..28bac922 100644 --- a/interfaces/innerkits/native_cpp/screen_source/src/callback/dscreen_source_load_callback.cpp +++ b/interfaces/innerkits/native_cpp/screen_source/src/callback/dscreen_source_load_callback.cpp @@ -42,7 +42,7 @@ void DScreenSourceLoadCallback::OnLoadSystemAbilitySuccess( void DScreenSourceLoadCallback::OnLoadSystemAbilityFail(int32_t systemAbilityId) { DHLOGE("load screen SA failed, systemAbilityId:%d", systemAbilityId); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_SINKPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source OnLoadSystemAbilityFail."); } } diff --git a/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp b/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp index ea154c58..06894f94 100644 --- a/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp +++ b/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp @@ -56,7 +56,7 @@ int32_t DScreenSourceHandler::InitSource(const std::string ¶ms) sptr samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (!samgr) { DHLOGE("Failed to get system ability mgr."); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_GET_SAMGR_FAIL, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_GET_SAMGR_FAIL, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source get samgr failed."); return ERR_DH_SCREEN_SA_GET_SAMGR_FAIL; } @@ -66,7 +66,7 @@ int32_t DScreenSourceHandler::InitSource(const std::string ¶ms) if (ret != ERR_OK) { DHLOGE("Failed to Load systemAbility, systemAbilityId:%d, ret code:%d", DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, ret); - ReportSaFail(SA_ERROR, ret, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ret, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source LoadSystemAbility call failed."); return ERR_DH_SCREEN_SA_GET_SOURCEPROXY_FAIL; } @@ -76,7 +76,7 @@ int32_t DScreenSourceHandler::InitSource(const std::string ¶ms) [this]() { return (dScreenSourceProxy_ != nullptr); }); if (!waitStatus) { DHLOGE("screen load sa timeout."); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_LOAD_TIMEOUT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_LOAD_TIMEOUT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source sa load timeout."); return ERR_DH_SCREEN_SA_LOAD_TIMEOUT; } @@ -94,13 +94,13 @@ void DScreenSourceHandler::FinishStartSA(const std::string ¶ms, dScreenSourceProxy_ = iface_cast(remoteObject); if ((!dScreenSourceProxy_) || (!dScreenSourceProxy_->AsObject())) { DHLOGE("Failed to get dscreen source proxy."); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SOURCEPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_SOURCEPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source get proxy failed."); return; } dScreenSourceProxy_->InitSource(params, dScreenSourceCallback_); proxyConVar_.notify_one(); - ReportSaEvent(SA_START, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source sa load success."); + ReportSaEvent(DSCREEN_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source sa load success."); } int32_t DScreenSourceHandler::ReleaseSource() @@ -109,7 +109,7 @@ int32_t DScreenSourceHandler::ReleaseSource() std::lock_guard lock(proxyMutex_); if (!dScreenSourceProxy_) { DHLOGE("screen source proxy not init."); - ReportSaFail(SA_ERROR, ERR_DH_SCREEN_SA_SOURCEPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, + ReportSaFail(DSCREEN_INIT_FAIL, ERR_DH_SCREEN_SA_SOURCEPROXY_NOT_INIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source proxy not init."); return ERR_DH_SCREEN_SA_SOURCEPROXY_NOT_INIT; } diff --git a/services/screendemo/decoder_demo.cpp b/services/screendemo/decoder_demo.cpp index 90242d37..e39e930c 100644 --- a/services/screendemo/decoder_demo.cpp +++ b/services/screendemo/decoder_demo.cpp @@ -140,19 +140,21 @@ int32_t VDecDemo::Stop() isRunning_.store(false); if (inputLoop_ != nullptr && inputLoop_->joinable()) { - unique_lock lock(signal_->inMutex_); - signal_->inQueue_.push(INDEX_CONSTANT); - signal_->inCond_.notify_all(); - lock.unlock(); + { + unique_lock inLock(signal_->inMutex_); + signal_->inQueue_.push(INDEX_CONSTANT); + signal_->inCond_.notify_all(); + } inputLoop_->join(); inputLoop_.reset(); } if (outputLoop_ != nullptr && outputLoop_->joinable()) { - unique_lock lock(signal_->outMutex_); - signal_->outQueue_.push(INDEX_CONSTANT); - signal_->outCond_.notify_all(); - lock.unlock(); + { + unique_lock outLock(signal_->outMutex_); + signal_->outQueue_.push(INDEX_CONSTANT); + signal_->outCond_.notify_all(); + } outputLoop_->join(); outputLoop_.reset(); } diff --git a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp index a33b685a..8da0e912 100644 --- a/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp +++ b/services/screenservice/sinkservice/dscreenservice/src/dscreen_sink_service.cpp @@ -79,7 +79,7 @@ int32_t DScreenSinkService::ReleaseSink() DHLOGI("ReleaseSink"); ScreenRegionManager::GetInstance().ReleaseAllRegions(); DHLOGI("exit sink sa process"); - ReportSaEvent(SA_EXIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink sa exit success."); + ReportSaEvent(DSCREEN_EXIT, DISTRIBUTED_HARDWARE_SCREEN_SINK_SA_ID, "dscreen sink sa exit success."); exit(0); return DH_SUCCESS; } diff --git a/services/screenservice/sinkservice/screenregionmgr/src/screenregion.cpp b/services/screenservice/sinkservice/screenregionmgr/src/screenregion.cpp index 88e7c765..ee5c18d7 100644 --- a/services/screenservice/sinkservice/screenregionmgr/src/screenregion.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/src/screenregion.cpp @@ -100,20 +100,20 @@ int32_t ScreenRegion::SetUp() windowId_ = ScreenClient::GetInstance().AddWindow(windowProperty); if (windowId_ < 0) { DHLOGE("AddWindow failed."); - ReportWindowFail(WINDOW_ERROR, ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED, "AddWindow failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED, "AddWindow failed."); return ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED; } int32_t ret = ScreenClient::GetInstance().ShowWindow(windowId_); if (ret != DH_SUCCESS) { DHLOGE("show window failed."); - ReportWindowFail(WINDOW_ERROR, ret, "show window failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "show window failed."); return ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED; } sptr surface = ScreenClient::GetInstance().GetSurface(windowId_); if (!surface) { DHLOGE("get window surface failed."); - ReportWindowFail(WINDOW_ERROR, ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED, "get window surface failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED, "get window surface failed."); return ERR_DH_SCREEN_SA_DSCREEN_SCREENGION_SETUP_FAILED; } diff --git a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp index 3cdc86d1..f41ed6fe 100644 --- a/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/src/dscreen.cpp @@ -199,7 +199,7 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) DHLOGE("check json data failed."); dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, "enable param json is invalid."); - ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), + ReportRegisterFail(DSCREEN_REGISTER_FAIL, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "check json data failed."); return; } @@ -213,7 +213,7 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) DHLOGE("negotiate codec type failed."); dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, "negotiate codec type failed."); - ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), + ReportRegisterFail(DSCREEN_REGISTER_FAIL, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "negotiate codec type failed."); return; } @@ -223,14 +223,14 @@ void DScreen::HandleEnable(const std::string ¶m, const std::string &taskId) DHLOGE("create virtual screen failed."); dscreenCallback_->OnRegResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_ENABLE_FAILED, "create virtual screen failed."); - ReportRegisterFail(REGISTER_ERROR, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), + ReportRegisterFail(DSCREEN_REGISTER_FAIL, ERR_DH_SCREEN_SA_ENABLE_FAILED, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "create virtual screen failed."); return; } screenId_ = screenId; SetState(ENABLED); dscreenCallback_->OnRegResult(shared_from_this(), taskId, DH_SUCCESS, ""); - ReportRegisterScreenEvent(ENABLE_REGISTER, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), + ReportRegisterScreenEvent(DSCREEN_REGISTER, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "dscreen enable success."); } @@ -299,13 +299,13 @@ void DScreen::HandleDisable(const std::string &taskId) DHLOGE("remove virtual screen failed."); dscreenCallback_->OnUnregResult(shared_from_this(), taskId, ERR_DH_SCREEN_SA_DISABLE_FAILED, "remove virtual screen failed."); - ReportUnRegisterFail(UNREGISTER_ERROR, ERR_DH_SCREEN_SA_DISABLE_FAILED, GetAnonyString(devId_).c_str(), + ReportUnRegisterFail(DSCREEN_UNREGISTER_FAIL, ERR_DH_SCREEN_SA_DISABLE_FAILED, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "remove virtual screen failed."); return; } SetState(DISABLED); dscreenCallback_->OnUnregResult(shared_from_this(), taskId, DH_SUCCESS, ""); - ReportUnRegisterScreenEvent(DISABLE_UNREGISTER, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), + ReportUnRegisterScreenEvent(DSCREEN_UNREGISTER, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "dscreen disable success."); } @@ -330,7 +330,7 @@ void DScreen::HandleConnect() return; } SetState(CONNECTED); - ReportScreenMirrorEvent(PROJECT_START, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), + ReportScreenMirrorEvent(DSCREEN_PROJECT_START, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "dscreen connect success"); } @@ -350,7 +350,7 @@ void DScreen::HandleDisconnect() return; } SetState(ENABLED); - ReportScreenMirrorEvent(PROJECT_END, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), + ReportScreenMirrorEvent(DSCREEN_PROJECT_END, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "dscreen disconnect success"); } diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index 80dbf9d8..bae8b5ac 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -95,7 +95,7 @@ int32_t DScreenSourceService::ReleaseSource() return ret; } DHLOGI("exit source sa process"); - ReportSaEvent(SA_EXIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source sa exit success."); + ReportSaEvent(DSCREEN_EXIT, DISTRIBUTED_HARDWARE_SCREEN_SOURCE_SA_ID, "dscreen source sa exit success."); exit(0); return DH_SUCCESS; } @@ -112,7 +112,7 @@ int32_t DScreenSourceService::RegisterDistributedHardware(const std::string &dev if (ret != DH_SUCCESS) { DHLOGE("enable distributedScreen failed. devId: %s, dhId: %s, reqId: %s, attrs: %s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str(), reqId.c_str(), attrs.c_str()); - ReportRegisterFail(REGISTER_ERROR, ret, GetAnonyString(devId).c_str(), + ReportRegisterFail(DSCREEN_REGISTER_FAIL, ret, GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str(), "enable distributedScreen failed."); return ERR_DH_SCREEN_SA_ENABLE_FAILED; } @@ -127,7 +127,7 @@ int32_t DScreenSourceService::UnregisterDistributedHardware(const std::string &d if (ret != DH_SUCCESS) { DHLOGE("disable distributedScreen failed. devId: %s, dhId: %s, reqId: %s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str(), reqId.c_str()); - ReportUnRegisterFail(UNREGISTER_ERROR, ret, GetAnonyString(devId).c_str(), + ReportUnRegisterFail(DSCREEN_REGISTER_FAIL, ret, GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str(), "disable distributedScreen failed."); return ERR_DH_SCREEN_SA_DISABLE_FAILED; } diff --git a/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp b/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp index 900a6cb4..8a1c390a 100644 --- a/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp +++ b/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp @@ -78,7 +78,7 @@ int32_t ScreenDataChannelImpl::OpenSession() SoftbusAdapter::GetInstance().OpenSoftbusSession(DATA_SESSION_NAME, DATA_SESSION_NAME, peerDevId_); if (sessionId < 0) { DHLOGE("%s: Open screen session failed, ret: %d", LOG_TAG, sessionId); - ReportSoftbusSessionFail(SOFTBUS_SESSION_ERROR, sessionId, DATA_SESSION_NAME, "Open screen session failed"); + ReportOptFail(DSCREEN_OPT_FAIL, sessionId, "Open screen session failed"); return ERR_DH_SCREEN_TRANS_ERROR; } sessionId_ = sessionId; diff --git a/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp b/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp index 054d26dd..e692bff8 100644 --- a/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp +++ b/services/screentransport/screensinkprocessor/src/image_sink_processor.cpp @@ -50,8 +50,7 @@ int32_t ImageSinkProcessor::ReleaseImageProcessor() DHLOGI("%s: ReleaseImageProcessor.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_TRANS_NULL_VALUE, "ReleaseImageProcessor Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -60,8 +59,7 @@ int32_t ImageSinkProcessor::ReleaseImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: ReleaseDecoder failed.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "ReleaseDecoder failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "ReleaseDecoder failed."); return ret; } @@ -73,8 +71,7 @@ int32_t ImageSinkProcessor::StartImageProcessor() DHLOGI("%s: StartImageProcessor.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_TRANS_NULL_VALUE, "StartImageProcessor Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -83,8 +80,7 @@ int32_t ImageSinkProcessor::StartImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: StartDecoder failed ret:%d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "StartDecoder failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "StartDecoder failed."); return ret; } @@ -96,8 +92,7 @@ int32_t ImageSinkProcessor::StopImageProcessor() DHLOGI("%s: StopImageProcessor.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_TRANS_NULL_VALUE, "StopImageProcessor Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -106,8 +101,7 @@ int32_t ImageSinkProcessor::StopImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: StopDecoder failed ret:%d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "StopDecoder failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "StopDecoder failed."); return ret; } @@ -119,16 +113,14 @@ int32_t ImageSinkProcessor::SetImageSurface(sptr &surface) DHLOGI("%s: SetImageSurface.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_TRANS_NULL_VALUE, "SetImageSurface Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } int32_t ret = imageDecoder_->SetOutputSurface(surface); if (ret != DH_SUCCESS) { DHLOGE("%s: SetOutputSurface failed ret:%d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "SetOutputSurface failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "SetOutputSurface failed."); return ret; } @@ -140,16 +132,14 @@ int32_t ImageSinkProcessor::ProcessImage(const std::shared_ptr &data DHLOGI("%s: ProcessImage.", LOG_TAG); if (imageDecoder_ == nullptr) { DHLOGE("%s: Decoder is null.", LOG_TAG); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Decoder is null."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_TRANS_NULL_VALUE, "processImage Decoder is null."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } int32_t ret = imageDecoder_->InputScreenData(data); if (ret != DH_SUCCESS) { DHLOGE("%s: InputScreenData failed ret:%d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "InputScreenData failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "InputScreenData failed."); return ret; } diff --git a/services/screentransport/screensinktrans/src/screen_sink_trans.cpp b/services/screentransport/screensinktrans/src/screen_sink_trans.cpp index 2c8bcf5a..8a7395f5 100644 --- a/services/screentransport/screensinktrans/src/screen_sink_trans.cpp +++ b/services/screentransport/screensinktrans/src/screen_sink_trans.cpp @@ -248,8 +248,7 @@ int32_t ScreenSinkTrans::RegisterChannelListener() int32_t ret = screenChannel_->CreateSession(listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Register channel listenner failed ret: %d.", LOG_TAG, ret); - ReportSoftbusSessionServerFail(SOFTBUS_SESSIONSERVER_ERROR, ret, PKG_NAME, - DATA_SESSION_NAME, "dscreen sink Create session failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "dscreen sink Create session failed."); return ret; } @@ -269,8 +268,7 @@ int32_t ScreenSinkTrans::RegisterProcessorListener(const VideoParam &localParam, int32_t ret = imageProcessor_->ConfigureImageProcessor(localParam, remoteParam, listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Config image processor failed ret: %d.", LOG_TAG, ret); - ReportVideoDecoderFail(VIDEO_DECODER_ERROR, localParam.GetVideoWidth(), - localParam.GetVideoHeight(), localParam.GetVideoFormat(), "Config image processor failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "Config image processor failed."); return ret; } diff --git a/services/screentransport/screensourceprocessor/src/image_source_processor.cpp b/services/screentransport/screensourceprocessor/src/image_source_processor.cpp index 9036e931..4181d895 100644 --- a/services/screentransport/screensourceprocessor/src/image_source_processor.cpp +++ b/services/screentransport/screensourceprocessor/src/image_source_processor.cpp @@ -48,8 +48,7 @@ int32_t ImageSourceProcessor::ReleaseImageProcessor() DHLOGI("%s: ReleaseImageProcessor.", LOG_TAG); if (!imageEncoder_) { DHLOGE("%s: Create screen encoder failed.", LOG_TAG); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Create screen encoder failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_TRANS_NULL_VALUE, "ReleaseImageProcessor encoder is nullptr."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -58,8 +57,7 @@ int32_t ImageSourceProcessor::ReleaseImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: Release screen encoder failed ret: %d.", LOG_TAG, ret); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Release screen encoder failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "Release screen encoder failed."); return ret; } @@ -71,8 +69,7 @@ int32_t ImageSourceProcessor::StartImageProcessor() DHLOGI("%s: StartImageProcessor.", LOG_TAG); if (!imageEncoder_) { DHLOGE("%s: Create screen encoder failed.", LOG_TAG); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Create screen encoder failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_TRANS_NULL_VALUE, "StartImageProcessor encoder is nullptr."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -81,8 +78,7 @@ int32_t ImageSourceProcessor::StartImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: Start screen encoder failed ret: %d.", LOG_TAG, ret); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Start screen encoder failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "Start screen encoder failed."); return ret; } @@ -94,8 +90,7 @@ int32_t ImageSourceProcessor::StopImageProcessor() DHLOGI("%s: StopImageProcessor.", LOG_TAG); if (!imageEncoder_) { DHLOGE("%s: Create screen encoder failed.", LOG_TAG); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Create screen encoder failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ERR_DH_SCREEN_TRANS_NULL_VALUE, "StopImageProcessor encoder is nullptr."); return ERR_DH_SCREEN_TRANS_NULL_VALUE; } @@ -104,8 +99,7 @@ int32_t ImageSourceProcessor::StopImageProcessor() FinishTrace(DSCREEN_HITRACE_LABEL); if (ret != DH_SUCCESS) { DHLOGE("%s: Stop screen encoder failed ret: %d.", LOG_TAG, ret); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam_.GetVideoWidth(), - localParam_.GetVideoHeight(), localParam_.GetVideoFormat(), "Stop screen encoder failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "Stop screen encoder failed."); return ret; } diff --git a/services/screentransport/screensourcetrans/src/screen_source_trans.cpp b/services/screentransport/screensourcetrans/src/screen_source_trans.cpp index e10ce40f..2ad9f920 100644 --- a/services/screentransport/screensourcetrans/src/screen_source_trans.cpp +++ b/services/screentransport/screensourcetrans/src/screen_source_trans.cpp @@ -268,8 +268,7 @@ int32_t ScreenSourceTrans::RegisterChannelListener() int32_t ret = screenChannel_->CreateSession(listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Create session failed ret: %d.", LOG_TAG); - ReportSoftbusSessionServerFail(SOFTBUS_SESSIONSERVER_ERROR, ret, PKG_NAME, - DATA_SESSION_NAME, "dscreen source Create session failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "dscreen source Create session failed."); return ret; } @@ -288,8 +287,7 @@ int32_t ScreenSourceTrans::RegisterProcessorListener(const VideoParam &localPara int32_t ret = imageProcessor_->ConfigureImageProcessor(localParam, remoteParam, listener); if (ret != DH_SUCCESS) { DHLOGE("%s: Config image processor failed ret: %d.", LOG_TAG, ret); - ReportVideoEncoderFail(VIDEO_ENCODER_ERROR, localParam.GetVideoWidth(), - localParam.GetVideoHeight(), localParam.GetVideoFormat(), "Config image processor failed."); + ReportOptFail(DSCREEN_OPT_FAIL, ret, "Config image processor failed."); return ret; } -- Gitee