summaryrefslogtreecommitdiffstats
path: root/libs/gui
diff options
context:
space:
mode:
authorDan Stoza <stoza@google.com>2015-03-02 22:12:37 -0800
committerDan Stoza <stoza@google.com>2015-03-18 16:01:20 -0700
commit966b98bd86abc6473167bc98ddf8ddb1f8dd2ed5 (patch)
tree92d239f1c09fe7456e6327ea62d09609f5bfc0ca /libs/gui
parent2632350ac88cdf007c62e18345b71411755ed6ba (diff)
downloadframeworks_native-966b98bd86abc6473167bc98ddf8ddb1f8dd2ed5.zip
frameworks_native-966b98bd86abc6473167bc98ddf8ddb1f8dd2ed5.tar.gz
frameworks_native-966b98bd86abc6473167bc98ddf8ddb1f8dd2ed5.tar.bz2
Surface: Permit an IProducerListener on connect
This change allows clients of Surface to provide an IProducerListener callback object to Surface::connect, which will be passed down to the underlying IGraphicBufferProducer. Cherry pick of I5ea5229bf3a329bf02c6bd20e7247039c75d136b Change-Id: I6f8f52c72654e4cee649721383819bafe378f964
Diffstat (limited to 'libs/gui')
-rw-r--r--libs/gui/Surface.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index aa4aee4..98489b1 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);