diff options
| author | 2011-07-19 17:10:10 -0700 | |
|---|---|---|
| committer | 2011-07-19 17:10:10 -0700 | |
| commit | 9ec1f1d259f9dfc4a9359739e4711ba1a99375b2 (patch) | |
| tree | 98e541782c4f0f6d9de2c92e59ebcb7d52283e83 /libs/gui/ISurfaceTexture.cpp | |
| parent | 6461c97331e9e672e2abd6a46eaaa7b948974484 (diff) | |
| parent | f07b8a3f691be39083fb5163f9456bcfa566f93f (diff) | |
Merge "implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation""
Diffstat (limited to 'libs/gui/ISurfaceTexture.cpp')
| -rw-r--r-- | libs/gui/ISurfaceTexture.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/libs/gui/ISurfaceTexture.cpp b/libs/gui/ISurfaceTexture.cpp index b4b749280dbb..be90e2eec00f 100644 --- a/libs/gui/ISurfaceTexture.cpp +++ b/libs/gui/ISurfaceTexture.cpp @@ -93,12 +93,16 @@ public: return result; } - virtual status_t queueBuffer(int buf, int64_t timestamp) { + virtual status_t queueBuffer(int buf, int64_t timestamp, + uint32_t* outWidth, uint32_t* outHeight, uint32_t* outTransform) { Parcel data, reply; data.writeInterfaceToken(ISurfaceTexture::getInterfaceDescriptor()); data.writeInt32(buf); data.writeInt64(timestamp); remote()->transact(QUEUE_BUFFER, data, &reply); + *outWidth = reply.readInt32(); + *outHeight = reply.readInt32(); + *outTransform = reply.readInt32(); status_t result = reply.readInt32(); return result; } @@ -226,7 +230,12 @@ status_t BnSurfaceTexture::onTransact( CHECK_INTERFACE(ISurfaceTexture, data, reply); int buf = data.readInt32(); int64_t timestamp = data.readInt64(); - status_t result = queueBuffer(buf, timestamp); + uint32_t outWidth, outHeight, outTransform; + status_t result = queueBuffer(buf, timestamp, + &outWidth, &outHeight, &outTransform); + reply->writeInt32(outWidth); + reply->writeInt32(outHeight); + reply->writeInt32(outTransform); reply->writeInt32(result); return NO_ERROR; } break; |