From 42efa76749b40d33ac391115e3d385162eb63e63 Mon Sep 17 00:00:00 2001
From: Shuzhen Wang
Date: Mon, 26 Sep 2022 13:46:46 -0700
Subject: [PATCH] Camera: Update API doc for DISPLAY_SYNC timestamp base
Now the SurfaceView timestamp override only happens in fixed frame rate
case.
Test: Build
Bug: 239775097
Change-Id: I02cf36ed664a446ba3e8f6f04ce42caafaa5ae90
---
.../hardware/camera2/params/OutputConfiguration.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/core/java/android/hardware/camera2/params/OutputConfiguration.java b/core/java/android/hardware/camera2/params/OutputConfiguration.java
index 9e87037798635..90e92dbe2ab08 100644
--- a/core/java/android/hardware/camera2/params/OutputConfiguration.java
+++ b/core/java/android/hardware/camera2/params/OutputConfiguration.java
@@ -159,8 +159,9 @@ public final class OutputConfiguration implements Parcelable {
*
* For a SurfaceView output surface, the timestamp base is {@link
* #TIMESTAMP_BASE_CHOREOGRAPHER_SYNCED}. The timestamp is overridden with choreographer
- * pulses from the display subsystem for smoother display of camera frames. The timestamp
- * is roughly in the same time base as {@link android.os.SystemClock#uptimeMillis}.
+ * pulses from the display subsystem for smoother display of camera frames when the camera
+ * device runs in fixed frame rate. The timestamp is roughly in the same time base as
+ * {@link android.os.SystemClock#uptimeMillis}.
* For an output surface of MediaRecorder, MediaCodec, or ImageReader with {@link
* android.hardware.HardwareBuffer#USAGE_VIDEO_ENCODE} usge flag, the timestamp base is
* {@link #TIMESTAMP_BASE_MONOTONIC}, which is roughly the same time base as
@@ -231,7 +232,8 @@ public final class OutputConfiguration implements Parcelable {
*
* The timestamp of the output images are overridden with choreographer pulses from the
* display subsystem for smoother display of camera frames. An output target of SurfaceView
- * uses this time base by default.
+ * uses this time base by default. Note that the timestamp override is done for fixed camera
+ * frame rate only.
*
* This timestamp base isn't applicable to SurfaceTexture targets. SurfaceTexture's
* {@link android.graphics.SurfaceTexture#updateTexImage updateTexImage} function always