diff options
| author | 2012-04-23 14:28:58 -0700 | |
|---|---|---|
| committer | 2012-04-23 20:06:02 -0700 | |
| commit | 24202f5676c32edeef6544cf36e06b9fc970dbde (patch) | |
| tree | bfeaa065a551e9b4fedd8357c83da1b9b469b206 /libs/gui/ISurfaceTexture.cpp | |
| parent | a0db308c3d62301ae41b2e2bcf295c4ee4c7b08e (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.cpp | 17 |
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; |