From abaa51d3ca31f0eda99e1d271e6dc64c877dbf58 Mon Sep 17 00:00:00 2001 From: Eino-Ville Talvala Date: Wed, 14 Aug 2013 11:37:00 -0700 Subject: 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 --- camera/camera2/ICameraDeviceUser.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'camera') diff --git a/camera/camera2/ICameraDeviceUser.cpp b/camera/camera2/ICameraDeviceUser.cpp index 923f487..ae4cf69 100644 --- a/camera/camera2/ICameraDeviceUser.cpp +++ b/camera/camera2/ICameraDeviceUser.cpp @@ -41,6 +41,7 @@ enum { CREATE_DEFAULT_REQUEST, GET_CAMERA_INFO, WAIT_UNTIL_IDLE, + FLUSH }; class BpCameraDeviceUser : public BpInterface @@ -183,6 +184,16 @@ public: return reply.readInt32(); } + virtual status_t flush() + { + ALOGV("flush"); + Parcel data, reply; + data.writeInterfaceToken(ICameraDeviceUser::getInterfaceDescriptor()); + remote()->transact(FLUSH, data, &reply); + reply.readExceptionCode(); + return reply.readInt32(); + } + private: @@ -312,6 +323,12 @@ status_t BnCameraDeviceUser::onTransact( reply->writeInt32(waitUntilIdle()); return NO_ERROR; } break; + case FLUSH: { + CHECK_INTERFACE(ICameraDeviceUser, data, reply); + reply->writeNoException(); + reply->writeInt32(flush()); + return NO_ERROR; + } default: return BBinder::onTransact(code, data, reply, flags); } -- cgit v1.1