summaryrefslogtreecommitdiffstats
path: root/libs/ui/ISurface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ui/ISurface.cpp')
-rw-r--r--libs/ui/ISurface.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ui/ISurface.cpp b/libs/ui/ISurface.cpp
index 9fbae1e..b78e8b5 100644
--- a/libs/ui/ISurface.cpp
+++ b/libs/ui/ISurface.cpp
@@ -71,10 +71,11 @@ public:
{
}
- virtual sp<SurfaceBuffer> getBuffer()
+ virtual sp<SurfaceBuffer> getBuffer(int usage)
{
Parcel data, reply;
data.writeInterfaceToken(ISurface::getInterfaceDescriptor());
+ data.writeInt32(usage);
remote()->transact(GET_BUFFER, data, &reply);
sp<SurfaceBuffer> buffer = new SurfaceBuffer(reply);
return buffer;
@@ -135,7 +136,8 @@ status_t BnSurface::onTransact(
switch(code) {
case GET_BUFFER: {
CHECK_INTERFACE(ISurface, data, reply);
- sp<SurfaceBuffer> buffer(getBuffer());
+ int usage = data.readInt32();
+ sp<SurfaceBuffer> buffer(getBuffer(usage));
return SurfaceBuffer::writeToParcel(reply, buffer.get());
}
case REGISTER_BUFFERS: {