libgui: Add dequeue/attach timeout
Adds the ability to specify the timeout when dequeueBuffer or
attachBuffer block due to the lack of a free buffer/slot. By default,
these will block indefinitely (which is signified by a timeout of -1).
When a timeout (other than -1) is specified, non-blocking mode is
disabled and the given timeout will be used instead.
Bug: 25196773
Change-Id: I17fdbeebccb7c8d878703d758ac1209608258e61
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index b816ff3..9e90ad0 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -119,6 +119,10 @@
return mGraphicBufferProducer->getConsumerName();
}
+status_t Surface::setDequeueTimeout(nsecs_t timeout) {
+ return mGraphicBufferProducer->setDequeueTimeout(timeout);
+}
+
int Surface::hook_setSwapInterval(ANativeWindow* window, int interval) {
Surface* c = getSelf(window);
return c->setSwapInterval(interval);