summaryrefslogtreecommitdiffstats
path: root/camera/camera2/ICameraDeviceUser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'camera/camera2/ICameraDeviceUser.cpp')
-rw-r--r--camera/camera2/ICameraDeviceUser.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/camera/camera2/ICameraDeviceUser.cpp b/camera/camera2/ICameraDeviceUser.cpp
index 2ec08a9..9700258 100644
--- a/camera/camera2/ICameraDeviceUser.cpp
+++ b/camera/camera2/ICameraDeviceUser.cpp
@@ -47,7 +47,8 @@ enum {
CREATE_DEFAULT_REQUEST,
GET_CAMERA_INFO,
WAIT_UNTIL_IDLE,
- FLUSH
+ FLUSH,
+ PREPARE
};
namespace {
@@ -348,6 +349,20 @@ public:
return res;
}
+ virtual status_t prepare(int streamId)
+ {
+ ALOGV("prepare");
+ Parcel data, reply;
+
+ data.writeInterfaceToken(ICameraDeviceUser::getInterfaceDescriptor());
+ data.writeInt32(streamId);
+
+ remote()->transact(PREPARE, data, &reply);
+
+ reply.readExceptionCode();
+ return reply.readInt32();
+ }
+
private:
@@ -545,6 +560,14 @@ status_t BnCameraDeviceUser::onTransact(
reply->writeInt32(endConfigure());
return NO_ERROR;
} break;
+ case PREPARE: {
+ CHECK_INTERFACE(ICameraDeviceUser, data, reply);
+ int streamId = data.readInt32();
+ reply->writeNoException();
+ reply->writeInt32(prepare(streamId));
+ return NO_ERROR;
+ } break;
+
default:
return BBinder::onTransact(code, data, reply, flags);
}