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. Change-Id: I5ea5229bf3a329bf02c6bd20e7247039c75d136b
This commit is contained in:
parent
123edd9f81
commit
f8e3c6b6d8
@ -157,6 +157,7 @@ protected:
|
|||||||
|
|
||||||
virtual int lockBuffer_DEPRECATED(ANativeWindowBuffer* buffer);
|
virtual int lockBuffer_DEPRECATED(ANativeWindowBuffer* buffer);
|
||||||
|
|
||||||
|
virtual int connect(int api, const sp<IProducerListener>& listener);
|
||||||
virtual int connect(int api);
|
virtual int connect(int api);
|
||||||
virtual int disconnect(int api);
|
virtual int disconnect(int api);
|
||||||
virtual int setBufferCount(int bufferCount);
|
virtual int setBufferCount(int bufferCount);
|
||||||
|
@ -547,9 +547,13 @@ int Surface::dispatchSetSidebandStream(va_list args) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Surface::connect(int api) {
|
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();
|
ATRACE_CALL();
|
||||||
ALOGV("Surface::connect");
|
ALOGV("Surface::connect");
|
||||||
static sp<IProducerListener> listener = new DummyProducerListener();
|
|
||||||
Mutex::Autolock lock(mMutex);
|
Mutex::Autolock lock(mMutex);
|
||||||
IGraphicBufferProducer::QueueBufferOutput output;
|
IGraphicBufferProducer::QueueBufferOutput output;
|
||||||
int err = mGraphicBufferProducer->connect(listener, api, mProducerControlledByApp, &output);
|
int err = mGraphicBufferProducer->connect(listener, api, mProducerControlledByApp, &output);
|
||||||
|
Loading…
Reference in New Issue
Block a user