diff --git a/camera_hdf/hdi_impl/include/dcamera_device/dcamera_device.h b/camera_hdf/hdi_impl/include/dcamera_device/dcamera_device.h index 49b1f32e6bd82e136d19de7e5bf3fd72ecebe2df..2c3f0c4a07c9a411146990aa6b03aff986a4576f 100644 --- a/camera_hdf/hdi_impl/include/dcamera_device/dcamera_device.h +++ b/camera_hdf/hdi_impl/include/dcamera_device/dcamera_device.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -62,7 +62,8 @@ private: void Init(const std::string &abilityInfo); DCamRetCode CreateDStreamOperator(); std::string GenerateCameraId(const std::shared_ptr &dhBase); - + void NotifyStartCaptureError(); + void NotifyCameraError(const std::shared_ptr &event); private: bool isOpened_; std::string dCameraId_; diff --git a/camera_hdf/hdi_impl/src/dcamera_device/dcamera_device.cpp b/camera_hdf/hdi_impl/src/dcamera_device/dcamera_device.cpp index e6a1a60cf42339e5cfd9bcf724f665cdd56ddebf..490aad110c9753a574d0c8c8009dc347a7d070b1 100644 --- a/camera_hdf/hdi_impl/src/dcamera_device/dcamera_device.cpp +++ b/camera_hdf/hdi_impl/src/dcamera_device/dcamera_device.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -391,28 +391,11 @@ DCamRetCode DCameraDevice::Notify(const std::shared_ptr &event) } case DCameraEventResult::DCAMERA_EVENT_CONFIG_STREAMS_ERROR: case DCameraEventResult::DCAMERA_EVENT_START_CAPTURE_ERROR: { - if (dCameraDeviceCallback_ != nullptr) { - dCameraDeviceCallback_->OnError(ErrorType::REQUEST_TIMEOUT, 0); - } - std::shared_ptr provider = DCameraProvider::GetInstance(); - if ((provider != nullptr) && (dCameraStreamOperator_ != nullptr)) { - std::vector streamIds = dCameraStreamOperator_->GetStreamIds(); - provider->StopCapture(dhBase_, streamIds); - } - if (dCameraStreamOperator_ != nullptr) { - dCameraStreamOperator_->Release(); - } + NotifyStartCaptureError(); break; } case DCameraEventResult::DCAMERA_EVENT_CAMERA_ERROR: { - std::shared_ptr dCameraHost = DCameraHost::GetInstance(); - if (dCameraHost != nullptr) { - dCameraHost->NotifyDCameraStatus(dhBase_, event->result_); - } - if (dCameraDeviceCallback_ != nullptr) { - dCameraDeviceCallback_->OnError(ErrorType::REQUEST_TIMEOUT, 0); - Close(); - } + NotifyCameraError(event); break; } default: @@ -421,6 +404,33 @@ DCamRetCode DCameraDevice::Notify(const std::shared_ptr &event) return SUCCESS; } +void DCameraDevice::NotifyStartCaptureError() +{ + if (dCameraDeviceCallback_ != nullptr) { + dCameraDeviceCallback_->OnError(ErrorType::REQUEST_TIMEOUT, 0); + } + std::shared_ptr provider = DCameraProvider::GetInstance(); + if ((provider != nullptr) && (dCameraStreamOperator_ != nullptr)) { + std::vector streamIds = dCameraStreamOperator_->GetStreamIds(); + provider->StopCapture(dhBase_, streamIds); + } + if (dCameraStreamOperator_ != nullptr) { + dCameraStreamOperator_->Release(); + } +} + +void DCameraDevice::NotifyCameraError(const std::shared_ptr &event) +{ + std::shared_ptr dCameraHost = DCameraHost::GetInstance(); + if (dCameraHost != nullptr) { + dCameraHost->NotifyDCameraStatus(dhBase_, event->result_); + } + if (dCameraDeviceCallback_ != nullptr) { + dCameraDeviceCallback_->OnError(ErrorType::REQUEST_TIMEOUT, 0); + Close(); + } +} + void DCameraDevice::SetProviderCallback(const OHOS::sptr &callback) { dCameraProviderCallback_ = callback; diff --git a/services/cameraservice/sinkservice/include/distributedcamera/dcamera_sink_hidumper.h b/services/cameraservice/sinkservice/include/distributedcamera/dcamera_sink_hidumper.h index 7622d9c9b03ad492e067ffdeed40bf8fdeaf6607..4cd40fa1ca84fa384bf513bab8df94ec2f532d31 100644 --- a/services/cameraservice/sinkservice/include/distributedcamera/dcamera_sink_hidumper.h +++ b/services/cameraservice/sinkservice/include/distributedcamera/dcamera_sink_hidumper.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/cameraservice/sinkservice/src/distributedcamera/dcamera_sink_hidumper.cpp b/services/cameraservice/sinkservice/src/distributedcamera/dcamera_sink_hidumper.cpp index 1200678944e72c9a47bdb3734d16e866c63fe5b0..9cdf3b4c76e6f838d6c1d8b59e1f3df76dfee01d 100644 --- a/services/cameraservice/sinkservice/src/distributedcamera/dcamera_sink_hidumper.cpp +++ b/services/cameraservice/sinkservice/src/distributedcamera/dcamera_sink_hidumper.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/cameraservice/sinkservice/src/distributedcamera/distributed_camera_sink_service.cpp b/services/cameraservice/sinkservice/src/distributedcamera/distributed_camera_sink_service.cpp index 158bb04a72a9ef4f4f6ff80afdc90f24ca7e96c0..01eba3b28677cd241badf0aee13eb1a4127051b4 100644 --- a/services/cameraservice/sinkservice/src/distributedcamera/distributed_camera_sink_service.cpp +++ b/services/cameraservice/sinkservice/src/distributedcamera/distributed_camera_sink_service.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -97,7 +97,7 @@ int32_t DistributedCameraSinkService::InitSink(const std::string& params) DHLOGE("DistributedCameraSinkService::InitSink no camera device"); return DCAMERA_BAD_VALUE; } - g_camDump.camNumber = cameras.size(); + g_camDump.camNumber = static_cast(cameras.size()); for (auto& dhId : cameras) { std::shared_ptr sinkDevice = std::make_shared(dhId); ret = sinkDevice->Init(); diff --git a/services/cameraservice/sourceservice/include/distributedcamera/dcamera_source_hidumper.h b/services/cameraservice/sourceservice/include/distributedcamera/dcamera_source_hidumper.h index 99e97e0b4a884b48fff140267fa549b1a2f1f371..85b2c17a8e379958ffe61590855ef729b2594826 100644 --- a/services/cameraservice/sourceservice/include/distributedcamera/dcamera_source_hidumper.h +++ b/services/cameraservice/sourceservice/include/distributedcamera/dcamera_source_hidumper.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/cameraservice/sourceservice/src/distributedcamera/dcamera_source_hidumper.cpp b/services/cameraservice/sourceservice/src/distributedcamera/dcamera_source_hidumper.cpp index 991fb84aaec625664f9128d2de7b46934595ee3b..55b0590424623904389b449ebba315dd397383a2 100644 --- a/services/cameraservice/sourceservice/src/distributedcamera/dcamera_source_hidumper.cpp +++ b/services/cameraservice/sourceservice/src/distributedcamera/dcamera_source_hidumper.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/cameraservice/sourceservice/src/distributedcamera/distributed_camera_source_service.cpp b/services/cameraservice/sourceservice/src/distributedcamera/distributed_camera_source_service.cpp index 5e28cb4b7500a0bb13d5894ec37dfdfc21ea49b0..959fded5beb758b6792ea2f810e780fec86c02a6 100644 --- a/services/cameraservice/sourceservice/src/distributedcamera/distributed_camera_source_service.cpp +++ b/services/cameraservice/sourceservice/src/distributedcamera/distributed_camera_source_service.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -238,7 +238,7 @@ int DistributedCameraSourceService::Dump(int32_t fd, const std::vector(camerasMap_.size()); std::map curState; for (auto it = camerasMap_.begin(); it != camerasMap_.end(); it++) { DCameraIndex cam = it->first;