diff options
| author | 2020-08-29 01:34:09 -0700 | |
|---|---|---|
| committer | 2020-08-29 01:34:09 -0700 | |
| commit | e8b4e700b8950a07ea4155a31b742254002b7fad (patch) | |
| tree | 2d41d10a4615e16694be0eb20487ce96a128e41c /libs/gui/ConsumerBase.cpp | |
| parent | 9592c9d586e606d0d762b4334981159d2236295b (diff) | |
| parent | 3fab51ee7064bc478ebaeadf068ceb628ca2365a (diff) | |
Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I70ea776b8589ac3a7982c710c5c8b2941d86e55b
Change-Id: Ic1d535e9d2d6f80d95215240dbdb024995b045f8
Diffstat (limited to 'libs/gui/ConsumerBase.cpp')
| -rw-r--r-- | libs/gui/ConsumerBase.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/libs/gui/ConsumerBase.cpp b/libs/gui/ConsumerBase.cpp index abd9921fa9..9f91d9d3aa 100644 --- a/libs/gui/ConsumerBase.cpp +++ b/libs/gui/ConsumerBase.cpp @@ -101,6 +101,48 @@ void ConsumerBase::freeBufferLocked(int slotIndex) { mSlots[slotIndex].mFrameNumber = 0; } +void ConsumerBase::onFrameDequeued(const uint64_t bufferId) { + CB_LOGV("onFrameDequeued"); + + sp<FrameAvailableListener> listener; + { + Mutex::Autolock lock(mFrameAvailableMutex); + listener = mFrameAvailableListener.promote(); + } + + if (listener != nullptr) { + listener->onFrameDequeued(bufferId); + } +} + +void ConsumerBase::onFrameCancelled(const uint64_t bufferId) { + CB_LOGV("onFrameCancelled"); + + sp<FrameAvailableListener> listener; + { + Mutex::Autolock lock(mFrameAvailableMutex); + listener = mFrameAvailableListener.promote(); + } + + if (listener != nullptr) { + listener->onFrameCancelled(bufferId); + } +} + +void ConsumerBase::onFrameDetached(const uint64_t bufferId) { + CB_LOGV("onFrameDetached"); + + sp<FrameAvailableListener> listener; + { + Mutex::Autolock lock(mFrameAvailableMutex); + listener = mFrameAvailableListener.promote(); + } + + if (listener != nullptr) { + listener->onFrameDetached(bufferId); + } +} + void ConsumerBase::onFrameAvailable(const BufferItem& item) { CB_LOGV("onFrameAvailable"); |