diff options
Diffstat (limited to 'libs/gui/ISurfaceTexture.cpp')
| -rw-r--r-- | libs/gui/ISurfaceTexture.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libs/gui/ISurfaceTexture.cpp b/libs/gui/ISurfaceTexture.cpp index 0bd0f97218..16e37802b2 100644 --- a/libs/gui/ISurfaceTexture.cpp +++ b/libs/gui/ISurfaceTexture.cpp @@ -40,6 +40,7 @@ enum { SET_TRANSFORM, GET_ALLOCATOR, QUERY, + SET_SYNCHRONOUS_MODE, }; @@ -144,6 +145,16 @@ public: return result; } + virtual status_t setSynchronousMode(bool enabled) { + Parcel data, reply; + data.writeInterfaceToken(ISurfaceTexture::getInterfaceDescriptor()); + data.writeInt32(enabled); + remote()->transact(SET_SYNCHRONOUS_MODE, data, &reply); + status_t result = reply.readInt32(); + return result; + } + + }; IMPLEMENT_META_INTERFACE(SurfaceTexture, "android.gui.SurfaceTexture"); @@ -230,6 +241,13 @@ status_t BnSurfaceTexture::onTransact( reply->writeInt32(res); return NO_ERROR; } break; + case SET_SYNCHRONOUS_MODE: { + CHECK_INTERFACE(ISurfaceTexture, data, reply); + bool enabled = data.readInt32(); + status_t res = setSynchronousMode(enabled); + reply->writeInt32(res); + return NO_ERROR; + } break; } return BBinder::onTransact(code, data, reply, flags); } |