diff options
author | 2017-11-27 10:16:00 -0800 | |
---|---|---|
committer | 2017-12-08 14:11:24 -0800 | |
commit | a81bc4975941bff8dbfcb858627dfcd01250c1ed (patch) | |
tree | fc3d502372f53fc1866fe1473051663e9ea3c510 /libs/gui/ConsumerBase.cpp | |
parent | 0530f87f62c8d2b483657427a4f7129500d8fa8d (diff) |
libgui: add more IGBC wrappers to ConsumerBase
Add
ConsumerBase::setName
ConsumerBase::setConsumerUsageBits
ConsumerBase::setTransformHint
ConsumerBase::setMaxAcquiredBufferCount
ConsumerBase::getSidebandStream
and remove
BufferItemConsumer::setName
CpuConsumer::setName
GLConsumer::setName
GLConsumer::setDefaultBufferFormat
GLConsumer::setDefaultBufferDataSpace
GLConsumer::setTransformHint
GLConsumer::setMaxAcquiredBufferCount
SurfaceFlingerConsumer::getSidebandStream
at the same time.
Test: libgui_test
Change-Id: I0b81b7759d6d5a7a89eefdfe95440b262e7fa424
Diffstat (limited to 'libs/gui/ConsumerBase.cpp')
-rw-r--r-- | libs/gui/ConsumerBase.cpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/libs/gui/ConsumerBase.cpp b/libs/gui/ConsumerBase.cpp index 7aa7872513..f9e292e199 100644 --- a/libs/gui/ConsumerBase.cpp +++ b/libs/gui/ConsumerBase.cpp @@ -182,6 +182,16 @@ bool ConsumerBase::isAbandoned() { return mAbandoned; } +void ConsumerBase::setName(const String8& name) { + Mutex::Autolock _l(mMutex); + if (mAbandoned) { + CB_LOGE("setName: ConsumerBase is abandoned!"); + return; + } + mName = name; + mConsumer->setConsumerName(name); +} + void ConsumerBase::setFrameAvailableListener( const wp<FrameAvailableListener>& listener) { CB_LOGV("setFrameAvailableListener"); @@ -237,6 +247,50 @@ status_t ConsumerBase::setDefaultBufferDataSpace( return mConsumer->setDefaultBufferDataSpace(defaultDataSpace); } +status_t ConsumerBase::setConsumerUsageBits(uint64_t usage) { + Mutex::Autolock lock(mMutex); + if (mAbandoned) { + CB_LOGE("setConsumerUsageBits: ConsumerBase is abandoned!"); + return NO_INIT; + } + return mConsumer->setConsumerUsageBits(usage); +} + +status_t ConsumerBase::setTransformHint(uint32_t hint) { + Mutex::Autolock lock(mMutex); + if (mAbandoned) { + CB_LOGE("setTransformHint: ConsumerBase is abandoned!"); + return NO_INIT; + } + return mConsumer->setTransformHint(hint); +} + +status_t ConsumerBase::setMaxAcquiredBufferCount(int maxAcquiredBuffers) { + Mutex::Autolock lock(mMutex); + if (mAbandoned) { + CB_LOGE("setMaxAcquiredBufferCount: ConsumerBase is abandoned!"); + return NO_INIT; + } + return mConsumer->setMaxAcquiredBufferCount(maxAcquiredBuffers); +} + +sp<NativeHandle> ConsumerBase::getSidebandStream() const { + Mutex::Autolock _l(mMutex); + if (mAbandoned) { + CB_LOGE("getSidebandStream: ConsumerBase is abandoned!"); + return nullptr; + } + + sp<NativeHandle> stream; + status_t err = mConsumer->getSidebandStream(&stream); + if (err != NO_ERROR) { + CB_LOGE("failed to get sideband stream: %d", err); + return nullptr; + } + + return stream; +} + status_t ConsumerBase::getOccupancyHistory(bool forceFlush, std::vector<OccupancyTracker::Segment>* outHistory) { Mutex::Autolock _l(mMutex); |