@@ -46,21 +46,6 @@ class BufferItemConsumer;
4646
4747class BLASTBufferItemConsumer : public BufferItemConsumer {
4848public:
49- #if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
50- BLASTBufferItemConsumer (const sp<IGraphicBufferProducer>& producer,
51- const sp<IGraphicBufferConsumer>& consumer, uint64_t consumerUsage,
52- int bufferCount, bool controlledByApp, wp<BLASTBufferQueue> bbq)
53- : BufferItemConsumer(producer, consumer, consumerUsage, bufferCount, controlledByApp),
54- #else
55- BLASTBufferItemConsumer (const sp<IGraphicBufferConsumer>& consumer, uint64_t consumerUsage,
56- int bufferCount, bool controlledByApp, wp<BLASTBufferQueue> bbq)
57- : BufferItemConsumer(consumer, consumerUsage, bufferCount, controlledByApp),
58- #endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
59- mBLASTBufferQueue (std::move(bbq)),
60- mCurrentlyConnected (false ),
61- mPreviouslyConnected (false ) {
62- }
63-
6449 void onDisconnect () override EXCLUDES(mMutex );
6550 void addAndGetFrameTimestamps (const NewFrameEventsEntry* newTimestamps,
6651 FrameEventHistoryDelta* outDelta) override EXCLUDES(mMutex );
@@ -81,6 +66,23 @@ class BLASTBufferItemConsumer : public BufferItemConsumer {
8166#endif
8267
8368private:
69+ #if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
70+ BLASTBufferItemConsumer (const sp<IGraphicBufferProducer>& producer,
71+ const sp<IGraphicBufferConsumer>& consumer, uint64_t consumerUsage,
72+ int bufferCount, bool controlledByApp, wp<BLASTBufferQueue> bbq)
73+ : BufferItemConsumer(producer, consumer, consumerUsage, bufferCount, controlledByApp),
74+ #else
75+ BLASTBufferItemConsumer (const sp<IGraphicBufferConsumer>& consumer, uint64_t consumerUsage,
76+ int bufferCount, bool controlledByApp, wp<BLASTBufferQueue> bbq)
77+ : BufferItemConsumer(consumer, consumerUsage, bufferCount, controlledByApp),
78+ #endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
79+ mBLASTBufferQueue (std::move(bbq)),
80+ mCurrentlyConnected (false ),
81+ mPreviouslyConnected (false ) {
82+ }
83+
84+ friend class sp <BLASTBufferItemConsumer>;
85+
8486 const wp<BLASTBufferQueue> mBLASTBufferQueue ;
8587
8688 uint64_t mCurrentFrameNumber GUARDED_BY (mMutex ) = 0;
@@ -94,8 +96,6 @@ class BLASTBufferItemConsumer : public BufferItemConsumer {
9496
9597class BLASTBufferQueue : public ConsumerBase ::FrameAvailableListener {
9698public:
97- BLASTBufferQueue (const std::string& name, bool updateDestinationFrame = true );
98-
9999 sp<IGraphicBufferProducer> getIGraphicBufferProducer () const {
100100 return mProducer ;
101101 }
@@ -158,8 +158,13 @@ class BLASTBufferQueue : public ConsumerBase::FrameAvailableListener {
158158 void onFirstRef () override ;
159159
160160private:
161+ // Not public to ensure construction via sp<>::make().
162+ BLASTBufferQueue (const std::string& name, bool updateDestinationFrame = true );
163+
164+ friend class sp <BLASTBufferQueue>;
161165 friend class BLASTBufferQueueHelper ;
162166 friend class BBQBufferQueueProducer ;
167+ friend class TestBLASTBufferQueue ;
163168#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BUFFER_RELEASE_CHANNEL)
164169 friend class BBQBufferQueueCore ;
165170#endif
0 commit comments