diff options
author | Dan Stoza <stoza@google.com> | 2014-04-11 17:57:11 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-04-11 17:57:12 +0000 |
commit | fd34b65f717b84fa06d8c37f41b070f41d0ad3a3 (patch) | |
tree | 80315086e606f5184add4bab55c28e7687ccc931 /services/surfaceflinger | |
parent | 88a34b2f4351fe58b042f11af08ffd967ef7ce4c (diff) | |
parent | f0eaf25e9247edf4d124bedaeb863f7abdf35a3e (diff) | |
download | frameworks_native-fd34b65f717b84fa06d8c37f41b070f41d0ad3a3.zip frameworks_native-fd34b65f717b84fa06d8c37f41b070f41d0ad3a3.tar.gz frameworks_native-fd34b65f717b84fa06d8c37f41b070f41d0ad3a3.tar.bz2 |
Merge "BufferQueue: Add producer buffer-released callback"
Diffstat (limited to 'services/surfaceflinger')
4 files changed, 10 insertions, 8 deletions
diff --git a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp index f4cb8b5..67229d5 100644 --- a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp +++ b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp @@ -454,11 +454,12 @@ int VirtualDisplaySurface::query(int what, int* value) { return mSource[SOURCE_SINK]->query(what, value); } -status_t VirtualDisplaySurface::connect(const sp<IBinder>& token, +status_t VirtualDisplaySurface::connect(const sp<IProducerListener>& listener, int api, bool producerControlledByApp, QueueBufferOutput* output) { QueueBufferOutput qbo; - status_t result = mSource[SOURCE_SINK]->connect(token, api, producerControlledByApp, &qbo); + status_t result = mSource[SOURCE_SINK]->connect(listener, api, + producerControlledByApp, &qbo); if (result == NO_ERROR) { updateQueueBufferOutput(qbo); *output = mQueueBufferOutput; diff --git a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h index 09e5544..165224a 100644 --- a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h +++ b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h @@ -27,6 +27,7 @@ namespace android { // --------------------------------------------------------------------------- class HWComposer; +class IProducerListener; /* This DisplaySurface implementation supports virtual displays, where GLES * and/or HWC compose into a buffer that is then passed to an arbitrary @@ -105,7 +106,7 @@ private: const QueueBufferInput& input, QueueBufferOutput* output); virtual void cancelBuffer(int pslot, const sp<Fence>& fence); virtual int query(int what, int* value); - virtual status_t connect(const sp<IBinder>& token, + virtual status_t connect(const sp<IProducerListener>& listener, int api, bool producerControlledByApp, QueueBufferOutput* output); virtual status_t disconnect(int api); virtual status_t setSidebandStream(const sp<NativeHandle>& stream); diff --git a/services/surfaceflinger/MonitoredProducer.cpp b/services/surfaceflinger/MonitoredProducer.cpp index cd3fdf1..1a2b7e5 100644 --- a/services/surfaceflinger/MonitoredProducer.cpp +++ b/services/surfaceflinger/MonitoredProducer.cpp @@ -87,9 +87,9 @@ int MonitoredProducer::query(int what, int* value) { return mProducer->query(what, value); } -status_t MonitoredProducer::connect(const sp<IBinder>& token, int api, - bool producerControlledByApp, QueueBufferOutput* output) { - return mProducer->connect(token, api, producerControlledByApp, output); +status_t MonitoredProducer::connect(const sp<IProducerListener>& listener, + int api, bool producerControlledByApp, QueueBufferOutput* output) { + return mProducer->connect(listener, api, producerControlledByApp, output); } status_t MonitoredProducer::disconnect(int api) { diff --git a/services/surfaceflinger/MonitoredProducer.h b/services/surfaceflinger/MonitoredProducer.h index 7ac6f06..1e6431e 100644 --- a/services/surfaceflinger/MonitoredProducer.h +++ b/services/surfaceflinger/MonitoredProducer.h @@ -21,7 +21,7 @@ namespace android { -class IBinder; +class IProducerListener; class NativeHandle; class SurfaceFlinger; @@ -45,7 +45,7 @@ public: QueueBufferOutput* output); virtual void cancelBuffer(int slot, const sp<Fence>& fence); virtual int query(int what, int* value); - virtual status_t connect(const sp<IBinder>& token, int api, + virtual status_t connect(const sp<IProducerListener>& token, int api, bool producerControlledByApp, QueueBufferOutput* output); virtual status_t disconnect(int api); virtual status_t setSidebandStream(const sp<NativeHandle>& stream); |