summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dan Stoza <stoza@google.com> 2015-03-19 17:45:25 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-03-19 17:45:26 +0000
commitad36432de81c4c88d726680b7c52e8357df98455 (patch)
treefdba6eb241c08e9d45a612cff3f8cea9202dfe73
parentc193063050e6be193838527fb8bc7a4588bfdc22 (diff)
parent966b98bd86abc6473167bc98ddf8ddb1f8dd2ed5 (diff)
Merge "Surface: Permit an IProducerListener on connect"
-rw-r--r--include/gui/Surface.h1
-rw-r--r--libs/gui/Surface.cpp6
2 files changed, 6 insertions, 1 deletions
diff --git a/include/gui/Surface.h b/include/gui/Surface.h
index 98f4f4f6a8..863f22bb0d 100644
--- a/include/gui/Surface.h
+++ b/include/gui/Surface.h
@@ -157,6 +157,7 @@ protected:
virtual int lockBuffer_DEPRECATED(ANativeWindowBuffer* buffer);
+ virtual int connect(int api, const sp<IProducerListener>& listener);
virtual int connect(int api);
virtual int disconnect(int api);
virtual int setBufferCount(int bufferCount);
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index aa4aee4b29..98489b1feb 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -547,9 +547,13 @@ int Surface::dispatchSetSidebandStream(va_list args) {
}
int Surface::connect(int api) {
+ static sp<IProducerListener> listener = new DummyProducerListener();
+ return connect(api, listener);
+}
+
+int Surface::connect(int api, const sp<IProducerListener>& listener) {
ATRACE_CALL();
ALOGV("Surface::connect");
- static sp<IProducerListener> listener = new DummyProducerListener();
Mutex::Autolock lock(mMutex);
IGraphicBufferProducer::QueueBufferOutput output;
int err = mGraphicBufferProducer->connect(listener, api, mProducerControlledByApp, &output);