diff options
Diffstat (limited to 'libs/gui/BLASTBufferQueue.cpp')
| -rw-r--r-- | libs/gui/BLASTBufferQueue.cpp | 15 | 
1 files changed, 4 insertions, 11 deletions
| diff --git a/libs/gui/BLASTBufferQueue.cpp b/libs/gui/BLASTBufferQueue.cpp index 2104c77275..f034642681 100644 --- a/libs/gui/BLASTBufferQueue.cpp +++ b/libs/gui/BLASTBufferQueue.cpp @@ -119,16 +119,11 @@ void BLASTBufferItemConsumer::getConnectionEvents(uint64_t frameNumber, bool* ne      if (needsDisconnect != nullptr) *needsDisconnect = disconnect;  } -void BLASTBufferItemConsumer::setBlastBufferQueue(BLASTBufferQueue* blastbufferqueue) { -    std::scoped_lock lock(mBufferQueueMutex); -    mBLASTBufferQueue = blastbufferqueue; -} -  void BLASTBufferItemConsumer::onSidebandStreamChanged() { -    std::scoped_lock lock(mBufferQueueMutex); -    if (mBLASTBufferQueue != nullptr) { +    sp<BLASTBufferQueue> bbq = mBLASTBufferQueue.promote(); +    if (bbq != nullptr) {          sp<NativeHandle> stream = getSidebandStream(); -        mBLASTBufferQueue->setSidebandStream(stream); +        bbq->setSidebandStream(stream);      }  } @@ -148,7 +143,7 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name)      mBufferItemConsumer = new BLASTBufferItemConsumer(mConsumer,                                                        GraphicBuffer::USAGE_HW_COMPOSER |                                                                GraphicBuffer::USAGE_HW_TEXTURE, -                                                      1, false); +                                                      1, false, this);      static int32_t id = 0;      mName = name + "#" + std::to_string(id);      auto consumerName = mName + "(BLAST Consumer)" + std::to_string(id); @@ -157,7 +152,6 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name)      mBufferItemConsumer->setName(String8(consumerName.c_str()));      mBufferItemConsumer->setFrameAvailableListener(this);      mBufferItemConsumer->setBufferFreedListener(this); -    mBufferItemConsumer->setBlastBufferQueue(this);      ComposerService::getComposerService()->getMaxAcquiredBufferCount(&mMaxAcquiredBuffers);      mBufferItemConsumer->setMaxAcquiredBufferCount(mMaxAcquiredBuffers); @@ -173,7 +167,6 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name, const sp<SurfaceCont  }  BLASTBufferQueue::~BLASTBufferQueue() { -    mBufferItemConsumer->setBlastBufferQueue(nullptr);      if (mPendingTransactions.empty()) {          return;      } |