summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-08-20 16:36:44 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-08-20 16:36:44 +0000
commit5a5cc16375763c2c9662f07c8fa06ec3d54771a7 (patch)
treea4c62b22c29151a3984a64c8e66b5d50405a4390
parent220e6980d1798015c7b593c44a12844ba41169f6 (diff)
parenta25ca80abc330f616173883284688821543db47b (diff)
downloadcamera-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.cc43
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(