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