summaryrefslogtreecommitdiff
path: root/libs/gui/ISurfaceTexture.cpp
diff options
context:
space:
mode:
author Mathias Agopian <mathias@google.com> 2012-04-23 14:28:58 -0700
committer Mathias Agopian <mathias@google.com> 2012-04-23 20:06:02 -0700
commit24202f5676c32edeef6544cf36e06b9fc970dbde (patch)
treebfeaa065a551e9b4fedd8357c83da1b9b469b206 /libs/gui/ISurfaceTexture.cpp
parenta0db308c3d62301ae41b2e2bcf295c4ee4c7b08e (diff)
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
Diffstat (limited to 'libs/gui/ISurfaceTexture.cpp')
-rw-r--r--libs/gui/ISurfaceTexture.cpp17
1 files changed, 6 insertions, 11 deletions
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<QueueBufferOutput *>(
+ reply->writeInplace(sizeof(QueueBufferOutput)));
+ status_t res = connect(api, output);
reply->writeInt32(res);
return NO_ERROR;
} break;