From 827ebbb46629382bd415a3b522fa75bea93f93e2 Mon Sep 17 00:00:00 2001 From: zhuzhihui7 Date: Tue, 18 Mar 2025 14:02:25 +0800 Subject: [PATCH] reset PR720 Signed-off-by: zhuzhihui7 --- .../dcamera_sink_controller.h | 1 - .../dcamera_sink_controller.cpp | 44 +++++++------------ 2 files changed, 17 insertions(+), 28 deletions(-) diff --git a/services/cameraservice/sinkservice/include/distributedcameramgr/dcamera_sink_controller.h b/services/cameraservice/sinkservice/include/distributedcameramgr/dcamera_sink_controller.h index 3fa5ac36..3660d51e 100644 --- a/services/cameraservice/sinkservice/include/distributedcameramgr/dcamera_sink_controller.h +++ b/services/cameraservice/sinkservice/include/distributedcameramgr/dcamera_sink_controller.h @@ -85,7 +85,6 @@ private: void ProcessPostAuthorization(const AppExecFwk::InnerEvent::Pointer &event); int32_t CreateCtrlSession(); int32_t CheckSensitive(); - void HandleDisconnected(); bool isInit_; int32_t sessionState_; diff --git a/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_controller.cpp b/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_controller.cpp index 4431c08d..5fbf8d39 100644 --- a/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_controller.cpp +++ b/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_controller.cpp @@ -565,41 +565,31 @@ void DCameraSinkController::OnSessionState(int32_t state, std::string networkId) CHECK_AND_RETURN_LOG(ret != DCAMERA_OK, "PullUpPage failed"); break; } - case DCAMERA_CHANNEL_STATE_DISCONNECTED: { + case DCAMERA_CHANNEL_STATE_DISCONNECTED: DHLOGI("channel is disconnected"); - std::shared_ptr events = std::make_shared(); - events->eventType_ = DCAMERA_SINK_STOP; - events->eventResult_ = DCAMERA_EVENT_SINK_STOP; - DCameraNotify(events); - HandleDisconnected(); + ffrt::submit([this]() { + DHLOGI("DCameraSinkController::OnSessionState %{public}s new thread session state: %{public}d", + GetAnonyString(dhId_).c_str(), sessionState_); + prctl(PR_SET_NAME, CHANNEL_DISCONNECTED.c_str()); + std::lock_guard autoLock(autoLock_); + int32_t ret = CloseChannel(); + if (ret != DCAMERA_OK) { + DHLOGE("session state: %{public}d, %{public}s close channel failed, ret: %{public}d", + sessionState_, GetAnonyString(dhId_).c_str(), ret); + } + ret = StopCapture(); + if (ret != DCAMERA_OK) { + DHLOGE("session state: %{public}d, %{public}s stop capture failed, ret: %{public}d", + sessionState_, GetAnonyString(dhId_).c_str(), ret); + } + }); break; - } default: DHLOGE("unknown session state"); break; } } -void DCameraSinkController::HandleDisconnected() -{ - ffrt::submit([this]() { - DHLOGI("DCameraSinkController::OnSessionState %{public}s new thread session state: %{public}d", - GetAnonyString(dhId_).c_str(), sessionState_); - prctl(PR_SET_NAME, CHANNEL_DISCONNECTED.c_str()); - std::lock_guard autoLock(autoLock_); - int32_t ret = CloseChannel(); - if (ret != DCAMERA_OK) { - DHLOGE("session state: %{public}d, %{public}s close channel failed, ret: %{public}d", - sessionState_, GetAnonyString(dhId_).c_str(), ret); - } - ret = StopCapture(); - if (ret != DCAMERA_OK) { - DHLOGE("session state: %{public}d, %{public}s stop capture failed, ret: %{public}d", - sessionState_, GetAnonyString(dhId_).c_str(), ret); - } - }); -} - void DCameraSinkController::OnSessionError(int32_t eventType, int32_t eventReason, std::string detail) { DHLOGI("DCameraSinkController::OnSessionError dhId: %{public}s, eventType: %{public}d, eventReason: %{public}d," -- Gitee