summaryrefslogtreecommitdiff
path: root/libs/gui/SurfaceControl.cpp
diff options
context:
space:
mode:
author Chong Zhang <chz@google.com> 2016-03-02 20:09:58 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-03-02 20:09:58 +0000
commit649449dbb777e58ea5f6f1af61f84022d088190c (patch)
treefb821a4b7f438ed5fe5f799e276285b1ddb631df /libs/gui/SurfaceControl.cpp
parent0258add8ec3269a70607d4d9fd4d90d2b9b83f67 (diff)
parent1b3a9acb77ee12568fa19740d8eeab165a0dcd98 (diff)
Merge "Add SurfaceControl::disconnect() to disconnect currently connected API" into nyc-dev
Diffstat (limited to 'libs/gui/SurfaceControl.cpp')
-rw-r--r--libs/gui/SurfaceControl.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/gui/SurfaceControl.cpp b/libs/gui/SurfaceControl.cpp
index a945358cc0..e1a951c93f 100644
--- a/libs/gui/SurfaceControl.cpp
+++ b/libs/gui/SurfaceControl.cpp
@@ -33,6 +33,7 @@
#include <ui/GraphicBuffer.h>
#include <ui/Rect.h>
+#include <gui/BufferQueueCore.h>
#include <gui/ISurfaceComposer.h>
#include <gui/Surface.h>
#include <gui/SurfaceComposerClient.h>
@@ -81,6 +82,13 @@ void SurfaceControl::clear()
destroy();
}
+void SurfaceControl::disconnect() {
+ if (mGraphicBufferProducer != NULL) {
+ mGraphicBufferProducer->disconnect(
+ BufferQueueCore::CURRENTLY_CONNECTED_API);
+ }
+}
+
bool SurfaceControl::isSameSurface(
const sp<SurfaceControl>& lhs, const sp<SurfaceControl>& rhs)
{