From 24202f5676c32edeef6544cf36e06b9fc970dbde Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Mon, 23 Apr 2012 14:28:58 -0700 Subject: update the binder protocol for connect to match that of queueBuffer indeed, connect and queueBuffer return the same data, so it's easier to have them use the same protocol. Change-Id: I4f9fa3be0a80c9ab0a7a4039b282ae843aab02e1 --- libs/gui/ISurfaceTexture.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'libs/gui/ISurfaceTexture.cpp') diff --git a/libs/gui/ISurfaceTexture.cpp b/libs/gui/ISurfaceTexture.cpp index 265dd5d9de..3eb5e7aec2 100644 --- a/libs/gui/ISurfaceTexture.cpp +++ b/libs/gui/ISurfaceTexture.cpp @@ -145,8 +145,7 @@ public: return result; } - virtual status_t connect(int api, - uint32_t* outWidth, uint32_t* outHeight, uint32_t* outTransform) { + virtual status_t connect(int api, QueueBufferOutput* output) { Parcel data, reply; data.writeInterfaceToken(ISurfaceTexture::getInterfaceDescriptor()); data.writeInt32(api); @@ -154,9 +153,7 @@ public: if (result != NO_ERROR) { return result; } - *outWidth = reply.readInt32(); - *outHeight = reply.readInt32(); - *outTransform = reply.readInt32(); + memcpy(output, reply.readInplace(sizeof(*output)), sizeof(*output)); result = reply.readInt32(); return result; } @@ -251,12 +248,10 @@ status_t BnSurfaceTexture::onTransact( case CONNECT: { CHECK_INTERFACE(ISurfaceTexture, data, reply); int api = data.readInt32(); - uint32_t outWidth, outHeight, outTransform; - status_t res = connect(api, - &outWidth, &outHeight, &outTransform); - reply->writeInt32(outWidth); - reply->writeInt32(outHeight); - reply->writeInt32(outTransform); + QueueBufferOutput* const output = + reinterpret_cast( + reply->writeInplace(sizeof(QueueBufferOutput))); + status_t res = connect(api, output); reply->writeInt32(res); return NO_ERROR; } break; -- cgit v1.2.3-59-g8ed1b