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
diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
index ec3f35f..8476711 100644
--- a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
@@ -269,8 +269,7 @@
}
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 53ff9fe..b208d9f 100644
--- a/services/camera/libcameraservice/device3/Camera3Stream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Stream.cpp
@@ -663,9 +663,8 @@
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;