diff options
author | Dan Stoza <stoza@google.com> | 2015-03-02 22:12:37 -0800 |
---|---|---|
committer | Dan Stoza <stoza@google.com> | 2015-03-18 16:01:20 -0700 |
commit | 966b98bd86abc6473167bc98ddf8ddb1f8dd2ed5 (patch) | |
tree | 92d239f1c09fe7456e6327ea62d09609f5bfc0ca | |
parent | 2632350ac88cdf007c62e18345b71411755ed6ba (diff) | |
download | frameworks_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
-rw-r--r-- | include/gui/Surface.h | 1 | ||||
-rw-r--r-- | libs/gui/Surface.cpp | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/gui/Surface.h b/include/gui/Surface.h index 98f4f4f..863f22b 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 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); |