diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-08-20 16:36:44 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-08-20 16:36:44 +0000 |
commit | 5a5cc16375763c2c9662f07c8fa06ec3d54771a7 (patch) | |
tree | a4c62b22c29151a3984a64c8e66b5d50405a4390 | |
parent | 220e6980d1798015c7b593c44a12844ba41169f6 (diff) | |
parent | a25ca80abc330f616173883284688821543db47b (diff) | |
download | camera-android11-d1-release.tar.gz |
Merge cherrypicks of [12416577, 12417143, 12417185, 12417186, 12417187, 12417188, 12416815, 12417147, 12417003, 12417004, 12417005, 12417006, 12417007, 12417008, 12417009, 12417055, 12415658, 12416578, 12417056, 12417057, 12417103, 12417104, 12417189, 12417033, 12417034, 12417190, 12417191, 12417192, 12417193, 12417058, 12417059, 12417060, 12417061, 12417202, 12417072, 12417073] into rvc-d1-releaseandroid-11.0.0_r9android-11.0.0_r8android-11.0.0_r7android-11.0.0_r15android-11.0.0_r14android-11.0.0_r13android-11.0.0_r12android-11.0.0_r11android-11.0.0_r10android11-d1-s7-releaseandroid11-d1-s6-releaseandroid11-d1-s5-releaseandroid11-d1-s1-releaseandroid11-d1-release
Change-Id: I33fb968012319d49f697fc5b55cea352f3d56c90
-rw-r--r-- | common/hal/hidl_service/hidl_profiler.cc | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/common/hal/hidl_service/hidl_profiler.cc b/common/hal/hidl_service/hidl_profiler.cc index ff7b563..3c7e40d 100644 --- a/common/hal/hidl_service/hidl_profiler.cc +++ b/common/hal/hidl_service/hidl_profiler.cc @@ -36,13 +36,17 @@ struct HidlProfiler { mode |= google::camera_common::Profiler::SetPropFlag::kStopWatch; } profiler = google::camera_common::Profiler::Create(mode); - profiler->SetDumpFilePrefix( - "/data/vendor/camera/profiler/hidl_open_close_"); - profiler->Start("Overall", 0); + if (profiler != nullptr) { + profiler->SetDumpFilePrefix( + "/data/vendor/camera/profiler/hidl_open_close_"); + profiler->Start("Overall", 0); + } } ~HidlProfiler() { - profiler->End("Overall", 0); + if (profiler != nullptr) { + profiler->End("Overall", 0); + } } std::shared_ptr<google::camera_common::Profiler> profiler = nullptr; @@ -55,14 +59,15 @@ struct HidlProfiler { std::unique_ptr<HidlProfiler> gHidlProfiler = nullptr; void StartNewConnector() { - if (gHidlProfiler != nullptr) { + if (gHidlProfiler != nullptr && gHidlProfiler->profiler != nullptr) { gHidlProfiler->profiler->Start("<-- IDLE -->", ++gHidlProfiler->connector_counter); } } void EndConnector() { - if (gHidlProfiler != nullptr && gHidlProfiler->connector_counter != 0) { + if (gHidlProfiler != nullptr && gHidlProfiler->profiler != nullptr && + gHidlProfiler->connector_counter != 0) { gHidlProfiler->profiler->End("<-- IDLE -->", gHidlProfiler->connector_counter); } @@ -76,6 +81,11 @@ void EndProfiler() { std::unique_ptr<HidlProfilerItem> OnCameraOpen() { gHidlProfiler = std::make_unique<HidlProfiler>(); + if (gHidlProfiler == nullptr || gHidlProfiler->profiler == nullptr) { + ALOGE("%s: gHidlProfiler or profiler is nullptr.", __FUNCTION__); + return nullptr; + } + gHidlProfiler->has_camera_open = true; gHidlProfiler->profiler->SetUseCase("Open Camera"); @@ -88,6 +98,11 @@ std::unique_ptr<HidlProfilerItem> OnCameraFlush() { if (gHidlProfiler == nullptr) { gHidlProfiler = std::make_unique<HidlProfiler>(); } + + if (gHidlProfiler == nullptr || gHidlProfiler->profiler == nullptr) { + ALOGE("%s: gHidlProfiler or profiler is nullptr.", __FUNCTION__); + return nullptr; + } gHidlProfiler->profiler->SetUseCase("Flush Camera"); return std::make_unique<HidlProfilerItem>(gHidlProfiler->profiler, "Flush", StartNewConnector, @@ -99,6 +114,12 @@ std::unique_ptr<HidlProfilerItem> OnCameraClose() { if (gHidlProfiler == nullptr) { gHidlProfiler = std::make_unique<HidlProfiler>(); } + + if (gHidlProfiler == nullptr || gHidlProfiler->profiler == nullptr) { + ALOGE("%s: gHidlProfiler or profiler is nullptr.", __FUNCTION__); + return nullptr; + } + gHidlProfiler->profiler->SetUseCase("Close Camera"); return std::make_unique<HidlProfilerItem>(gHidlProfiler->profiler, "Close", EndProfiler); @@ -109,6 +130,12 @@ std::unique_ptr<HidlProfilerItem> OnCameraStreamConfigure() { if (gHidlProfiler == nullptr) { gHidlProfiler = std::make_unique<HidlProfiler>(); } + + if (gHidlProfiler == nullptr || gHidlProfiler->profiler == nullptr) { + ALOGE("%s: gHidlProfiler or profiler is nullptr.", __FUNCTION__); + return nullptr; + } + if (!gHidlProfiler->has_camera_open) { gHidlProfiler->profiler->SetUseCase("Reconfigure Stream"); } @@ -120,7 +147,7 @@ std::unique_ptr<HidlProfilerItem> OnCameraStreamConfigure() { void OnFirstFrameRequest() { EndConnector(); - if (gHidlProfiler != nullptr) { + if (gHidlProfiler != nullptr && gHidlProfiler->profiler != nullptr) { gHidlProfiler->profiler->Start( "First frame", google::camera_common::Profiler::kInvalidRequestId); gHidlProfiler->profiler->Start( @@ -129,7 +156,7 @@ void OnFirstFrameRequest() { } void OnFirstFrameResult() { - if (gHidlProfiler != nullptr) { + if (gHidlProfiler != nullptr && gHidlProfiler->profiler != nullptr) { gHidlProfiler->profiler->End( "First frame", google::camera_common::Profiler::kInvalidRequestId); gHidlProfiler->profiler->End( |