summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2013-08-14 11:37:00 -0700
committerEino-Ville Talvala <etalvala@google.com>2013-08-23 14:08:27 -0700
commitabaa51d3ca31f0eda99e1d271e6dc64c877dbf58 (patch)
tree52f4cc1078708f7c0099fded06dcb01daf6ca6bb /services/camera/libcameraservice/api2/CameraDeviceClient.cpp
parent62c1a46eec047eb5fbc4b90432ec1ce65b76fb75 (diff)
downloadframeworks_av-abaa51d3ca31f0eda99e1d271e6dc64c877dbf58.zip
frameworks_av-abaa51d3ca31f0eda99e1d271e6dc64c877dbf58.tar.gz
frameworks_av-abaa51d3ca31f0eda99e1d271e6dc64c877dbf58.tar.bz2
Camera2: Add flush support
- On HAL2 devices, fall back to wait until idle - On HAL3 devices, call HAL flush method Bug: 9758581 Change-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a
Diffstat (limited to 'services/camera/libcameraservice/api2/CameraDeviceClient.cpp')
-rw-r--r--services/camera/libcameraservice/api2/CameraDeviceClient.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
index 414316d..289ba06 100644
--- a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
+++ b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
@@ -436,6 +436,20 @@ status_t CameraDeviceClient::waitUntilIdle()
return res;
}
+status_t CameraDeviceClient::flush() {
+ ATRACE_CALL();
+ ALOGV("%s", __FUNCTION__);
+
+ status_t res = OK;
+ if ( (res = checkPid(__FUNCTION__) ) != OK) return res;
+
+ Mutex::Autolock icl(mBinderSerializationLock);
+
+ if (!mDevice.get()) return DEAD_OBJECT;
+
+ return mDevice->flush();
+}
+
status_t CameraDeviceClient::dump(int fd, const Vector<String16>& args) {
String8 result;
result.appendFormat("CameraDeviceClient[%d] (%p) PID: %d, dump:\n",