diff options
author | Shuzhen Wang <shuzhenwang@google.com> | 2021-01-05 15:19:13 -0800 |
---|---|---|
committer | Shuzhen Wang <shuzhenwang@google.com> | 2021-03-19 16:20:26 +0000 |
commit | 1c9985c2efbfc36e7cc8e4b76733e74bfa315414 (patch) | |
tree | 230f4733d2805197d9b0b4da063f6377cd82733a | |
parent | 6001ff0cd1ccb32afcc773a310e68d05c9c4cab4 (diff) |
Camera: Define camera stream proto separately
Define camera stream proto within framework so that the atoms.proto can
be used in standalone fashion, avoiding extra dependency.
Test: Run camera and inspect logging data using statsd_testdrive
Bug: 175339054
Change-Id: I41299025504ff009116c9149750c5c505ce27504
-rw-r--r-- | Android.bp | 1 | ||||
-rw-r--r-- | proto/src/camera.proto | 65 | ||||
-rw-r--r-- | services/core/java/com/android/server/camera/CameraServiceProxy.java | 2 |
3 files changed, 66 insertions, 2 deletions
diff --git a/Android.bp b/Android.bp index ee5e992935ae..cbc6117e2bc1 100644 --- a/Android.bp +++ b/Android.bp @@ -588,7 +588,6 @@ java_library { "android.security.vpnprofilestore-java", "android.system.keystore2-V1-java", "android.system.suspend.control.internal-java", - "cameraprotosnano", "devicepolicyprotosnano", "com.android.sysprop.apex", diff --git a/proto/src/camera.proto b/proto/src/camera.proto new file mode 100644 index 000000000000..d07a525fdffa --- /dev/null +++ b/proto/src/camera.proto @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +syntax = "proto2"; + +package android.stats.camera; + +option java_package = "android.stats.camera"; +option java_outer_classname = "CameraProtos"; + +/** + * CameraStreamProto from atoms.proto, duplicated here so that it's accessible from the + * logging code. Must be kept in sync with the definition in atoms.proto. + */ +message CameraStreamProto { + // The stream width (in pixels) + optional int32 width = 1; + // The stream height (in pixels) + optional int32 height = 2; + // The format of the stream + optional int32 format = 3; + // The dataspace of the stream + optional int32 data_space = 4; + // The usage flag of the stream + optional int64 usage = 5; + + // The number of requests for this stream + optional int64 request_count = 6; + // The number of buffer error for this stream + optional int64 error_count = 7; + // The capture latency of first request for this stream + optional int32 first_capture_latency_millis = 8; + + // The maximum number of hal buffers + optional int32 max_hal_buffers = 9; + // The maximum number of app buffers + optional int32 max_app_buffers = 10; + + // Type of stream histogram + // 1: Capture latency: bin size in milliseconds + enum HistogramType { + UNKNOWN = 0; + CAPTURE_LATENCY = 1; + } + optional HistogramType histogram_type = 11; + // The boundary values between histogram bins + // Expected number of fields: 9 + repeated float histogram_bins = 12; + // The frame counts for each histogram bins + // Expected number of fields: 10 + repeated int64 histogram_counts = 13; +} diff --git a/services/core/java/com/android/server/camera/CameraServiceProxy.java b/services/core/java/com/android/server/camera/CameraServiceProxy.java index 40d20734eb50..00b39f11a4c6 100644 --- a/services/core/java/com/android/server/camera/CameraServiceProxy.java +++ b/services/core/java/com/android/server/camera/CameraServiceProxy.java @@ -38,7 +38,7 @@ import android.os.RemoteException; import android.os.SystemClock; import android.os.SystemProperties; import android.os.UserManager; -import android.stats.camera.nano.CameraStreamProto; +import android.stats.camera.nano.CameraProtos.CameraStreamProto; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Slog; |