diff options
| author | 2017-02-17 22:17:35 +0000 | |
|---|---|---|
| committer | 2017-02-17 22:17:36 +0000 | |
| commit | f810b29ebc8564f94ff7fb14f2d13a0f4d111703 (patch) | |
| tree | d99aec6c734c984cfb96779aedc1549646ebc3a5 /services/surfaceflinger/SurfaceFlingerConsumer.cpp | |
| parent | 873e2eee781f323a8aa0283cab5924fa4cd7ecfe (diff) | |
| parent | 5ea5e5905170f32d5cf45ad35c552d64743892c3 (diff) | |
Merge changes from topic 'GPU_replace_GL'
* changes:
Fix unexpected FrameEvents on BufferQueue reconnect
Add FrameEvents::isValidTimestamp
Change GL references to GPU for getFrameTimestamps.
Clean up FrameTimestamp log messages.
Diffstat (limited to 'services/surfaceflinger/SurfaceFlingerConsumer.cpp')
| -rw-r--r-- | services/surfaceflinger/SurfaceFlingerConsumer.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/services/surfaceflinger/SurfaceFlingerConsumer.cpp b/services/surfaceflinger/SurfaceFlingerConsumer.cpp index 942af139ec..bb1ff06065 100644 --- a/services/surfaceflinger/SurfaceFlingerConsumer.cpp +++ b/services/surfaceflinger/SurfaceFlingerConsumer.cpp @@ -211,11 +211,11 @@ void SurfaceFlingerConsumer::setReleaseFence(const sp<Fence>& fence) } } -void SurfaceFlingerConsumer::releasePendingBuffer() +bool SurfaceFlingerConsumer::releasePendingBuffer() { if (!mPendingRelease.isPending) { ALOGV("Pending buffer already released"); - return; + return false; } ALOGV("Releasing pending buffer"); Mutex::Autolock lock(mMutex); @@ -225,6 +225,7 @@ void SurfaceFlingerConsumer::releasePendingBuffer() ALOGE_IF(result != NO_ERROR, "releasePendingBuffer failed: %s (%d)", strerror(-result), result); mPendingRelease = PendingRelease(); + return true; } #endif @@ -261,6 +262,13 @@ void SurfaceFlingerConsumer::onSidebandStreamChanged() { } } +void SurfaceFlingerConsumer::onDisconnect() { + sp<Layer> l = mLayer.promote(); + if (l.get()) { + l->onDisconnect(); + } +} + void SurfaceFlingerConsumer::addAndGetFrameTimestamps( const NewFrameEventsEntry* newTimestamps, FrameEventHistoryDelta *outDelta) { |