diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2014-05-09 19:57:56 -0700 |
---|---|---|
committer | Ruben Brunk <rubenbrunk@google.com> | 2014-05-21 18:14:41 -0700 |
commit | b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8 (patch) | |
tree | a97770362fc690d625a0383597cb057d48737876 /camera/camera2 | |
parent | 7ac0039611ea7ea18f9545f96a8f5cb31dcdebe5 (diff) | |
download | frameworks_av-b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8.zip frameworks_av-b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8.tar.gz frameworks_av-b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8.tar.bz2 |
camera2: Update CameraService for HAL1 shim.
Updates the camera service to handle shim connections.
Changes include:
- Adds begin/end configure binder calls.
- Adds cache for shim client static camera metadata.
- Implements basic getCameraCharacteristic functionality for shim clients.
Bug: 15116722
Bug: 15117269
Change-Id: I510c5888ca15f8e7d3b8ed1680ff1c7f8f514744
Diffstat (limited to 'camera/camera2')
-rw-r--r-- | camera/camera2/ICameraDeviceUser.cpp | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/camera/camera2/ICameraDeviceUser.cpp b/camera/camera2/ICameraDeviceUser.cpp index ad65955..89ea46d 100644 --- a/camera/camera2/ICameraDeviceUser.cpp +++ b/camera/camera2/ICameraDeviceUser.cpp @@ -42,7 +42,9 @@ enum { CREATE_DEFAULT_REQUEST, GET_CAMERA_INFO, WAIT_UNTIL_IDLE, - FLUSH + FLUSH, + BEGIN_CONFIGURE, + END_CONFIGURE }; namespace { @@ -283,6 +285,26 @@ public: return res; } + virtual status_t beginConfigure() + { + ALOGV("beginConfigure"); + Parcel data, reply; + data.writeInterfaceToken(ICameraDeviceUser::getInterfaceDescriptor()); + remote()->transact(BEGIN_CONFIGURE, data, &reply); + reply.readExceptionCode(); + return reply.readInt32(); + } + + virtual status_t endConfigure() + { + ALOGV("endConfigure"); + Parcel data, reply; + data.writeInterfaceToken(ICameraDeviceUser::getInterfaceDescriptor()); + remote()->transact(END_CONFIGURE, data, &reply); + reply.readExceptionCode(); + return reply.readInt32(); + } + private: @@ -456,6 +478,18 @@ status_t BnCameraDeviceUser::onTransact( reply->writeInt64(lastFrameNumber); return NO_ERROR; } + case BEGIN_CONFIGURE: { + CHECK_INTERFACE(ICameraDeviceUser, data, reply); + reply->writeNoException(); + reply->writeInt32(beginConfigure()); + return NO_ERROR; + } break; + case END_CONFIGURE: { + CHECK_INTERFACE(ICameraDeviceUser, data, reply); + reply->writeNoException(); + reply->writeInt32(endConfigure()); + return NO_ERROR; + } break; default: return BBinder::onTransact(code, data, reply, flags); } |