diff options
Diffstat (limited to 'libs/gui/ISurfaceTexture.cpp')
-rw-r--r-- | libs/gui/ISurfaceTexture.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libs/gui/ISurfaceTexture.cpp b/libs/gui/ISurfaceTexture.cpp index a0b1e74..4b20a36 100644 --- a/libs/gui/ISurfaceTexture.cpp +++ b/libs/gui/ISurfaceTexture.cpp @@ -38,6 +38,9 @@ enum { CANCEL_BUFFER, QUERY, SET_SYNCHRONOUS_MODE, +#ifdef QCOM_BSP + SET_BUFFERS_SIZE, +#endif CONNECT, DISCONNECT, }; @@ -156,6 +159,20 @@ public: return result; } +#ifdef QCOM_BSP + virtual status_t setBuffersSize(int size) { + Parcel data, reply; + data.writeInterfaceToken(ISurfaceTexture::getInterfaceDescriptor()); + data.writeInt32(size); + status_t result = remote()->transact(SET_BUFFERS_SIZE, data, &reply); + if (result != NO_ERROR) { + return result; + } + result = reply.readInt32(); + return result; + } +#endif + virtual status_t connect(int api, QueueBufferOutput* output) { Parcel data, reply; data.writeInterfaceToken(ISurfaceTexture::getInterfaceDescriptor()); @@ -266,6 +283,15 @@ status_t BnSurfaceTexture::onTransact( reply->writeInt32(res); return NO_ERROR; } break; +#ifdef QCOM_BSP + case SET_BUFFERS_SIZE: { + CHECK_INTERFACE(ISurfaceTexture, data, reply); + int size = data.readInt32(); + status_t res = setBuffersSize(size); + reply->writeInt32(res); + return NO_ERROR; + } break; +#endif case CONNECT: { CHECK_INTERFACE(ISurfaceTexture, data, reply); int api = data.readInt32(); |