From b25e3c87724b6147ed1da7c1d6617c39bfce2fbf Mon Sep 17 00:00:00 2001 From: Eino-Ville Talvala Date: Wed, 15 Jul 2015 16:04:27 -0700 Subject: Camera: Add hidden experimental tearDown method. Bug: 18949148 Change-Id: Ie86ec7d1ec3db54e1154563b2339a208a935f849 --- camera/camera2/ICameraDeviceUser.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'camera') diff --git a/camera/camera2/ICameraDeviceUser.cpp b/camera/camera2/ICameraDeviceUser.cpp index ffe974b..d2dc200 100644 --- a/camera/camera2/ICameraDeviceUser.cpp +++ b/camera/camera2/ICameraDeviceUser.cpp @@ -48,7 +48,8 @@ enum { GET_CAMERA_INFO, WAIT_UNTIL_IDLE, FLUSH, - PREPARE + PREPARE, + TEAR_DOWN }; namespace { @@ -365,6 +366,20 @@ public: return reply.readInt32(); } + virtual status_t tearDown(int streamId) + { + ALOGV("tearDown"); + Parcel data, reply; + + data.writeInterfaceToken(ICameraDeviceUser::getInterfaceDescriptor()); + data.writeInt32(streamId); + + remote()->transact(TEAR_DOWN, data, &reply); + + reply.readExceptionCode(); + return reply.readInt32(); + } + private: @@ -570,6 +585,13 @@ status_t BnCameraDeviceUser::onTransact( reply->writeInt32(prepare(streamId)); return NO_ERROR; } break; + case TEAR_DOWN: { + CHECK_INTERFACE(ICameraDeviceUser, data, reply); + int streamId = data.readInt32(); + reply->writeNoException(); + reply->writeInt32(tearDown(streamId)); + return NO_ERROR; + } break; default: return BBinder::onTransact(code, data, reply, flags); -- cgit v1.1