From f7fa2009b579aabf8275c8c96d3e2918b18b12bf Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Fri, 31 Aug 2018 14:24:18 -0700 Subject: [PATCH] Camera: Do not treat non-increasing timestamp as fatal Certain devices generate duplicate timestamps for cases like video recording. So do not treat non-increasing timestamps as fatal for now. Test: Failed camera CTS on Pixel device Bug: 113670946 Change-Id: I3708f46111edf031f48f460e4efce9f9c46f174e --- .../camera/libcameraservice/device3/Camera3OutputStream.cpp | 3 +-- services/camera/libcameraservice/device3/Camera3Stream.cpp | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp index ec3f35f060..84767110c0 100644 --- a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp +++ b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp @@ -269,8 +269,7 @@ status_t Camera3OutputStream::returnBufferCheckedLocked( } if (timestamp == 0) { - ALOGE("%s: Stream %d: timestamp shouldn't be 0", __FUNCTION__, mId); - return BAD_VALUE; + ALOGW("%s: Stream %d: timestamp shouldn't be 0", __FUNCTION__, mId); } /* Certain consumers (such as AudioSource or HardwareComposer) use diff --git a/services/camera/libcameraservice/device3/Camera3Stream.cpp b/services/camera/libcameraservice/device3/Camera3Stream.cpp index 53ff9fe080..b208d9ffec 100644 --- a/services/camera/libcameraservice/device3/Camera3Stream.cpp +++ b/services/camera/libcameraservice/device3/Camera3Stream.cpp @@ -663,9 +663,8 @@ status_t Camera3Stream::returnBuffer(const camera3_stream_buffer &buffer, removeOutstandingBuffer(buffer); if (timestampIncreasing && timestamp != 0 && timestamp <= mLastTimestamp) { - ALOGE("%s: Stream %d: timestamp %" PRId64 " is not increasing. Prev timestamp %" PRId64, + ALOGW("%s: Stream %d: timestamp %" PRId64 " is not increasing. Prev timestamp %" PRId64, __FUNCTION__, mId, timestamp, mLastTimestamp); - return BAD_VALUE; } mLastTimestamp = timestamp;