summaryrefslogtreecommitdiffstats
path: root/libs/gui/ISurfaceTexture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gui/ISurfaceTexture.cpp')
-rw-r--r--libs/gui/ISurfaceTexture.cpp26
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();