diff options
author | 2016-03-15 15:07:54 -0700 | |
---|---|---|
committer | 2016-03-15 15:21:21 -0700 | |
commit | e07e3e5ef56b768d73e78fb273f2cfe6ebffc945 (patch) | |
tree | 5389063fd296967d34389f32cbba367f3b7a34cb /include/gui/ConsumerBase.h | |
parent | 5229d8f558dfa7d91037321dcf26fbc1131df15a (diff) |
Revert "Add a callback thread to ConsumerBase"
This reverts commit 22b5702b40eca423171124e69c3d4ad03a3e6900.
Bug 27557176
Change-Id: Icc0e79af82329e6414ed44a99e90631cfcf140fa
Diffstat (limited to 'include/gui/ConsumerBase.h')
-rw-r--r-- | include/gui/ConsumerBase.h | 55 |
1 files changed, 12 insertions, 43 deletions
diff --git a/include/gui/ConsumerBase.h b/include/gui/ConsumerBase.h index 1b63552fc1..9307a26fb3 100644 --- a/include/gui/ConsumerBase.h +++ b/include/gui/ConsumerBase.h @@ -26,8 +26,6 @@ #include <utils/threads.h> #include <gui/IConsumerListener.h> -#include <queue> - namespace android { // ---------------------------------------------------------------------------- @@ -110,18 +108,18 @@ protected: // from the derived class. virtual void onLastStrongRef(const void* id); - // Handlers for the IConsumerListener interface, these will be called from - // the message queue thread. These calls are used to notify the ConsumerBase - // of asynchronous events in the BufferQueue. The onFrameAvailableHandler, - // onFrameReplacedHandler, and onBuffersReleasedHandler methods should not - // need to be overridden by derived classes, but if they are overridden the - // ConsumerBase implementation must be called from the derived class. The - // ConsumerBase version of onSidebandStreamChangedHandler does nothing and - // can be overriden by derived classes if they want the notification. - virtual void onFrameAvailableHandler(const BufferItem& item); - virtual void onFrameReplacedHandler(const BufferItem& item); - virtual void onBuffersReleasedHandler(); - virtual void onSidebandStreamChangedHandler(); + // Implementation of the IConsumerListener interface. These + // calls are used to notify the ConsumerBase of asynchronous events in the + // BufferQueue. The onFrameAvailable, onFrameReplaced, and + // onBuffersReleased methods should not need to be overridden by derived + // classes, but if they are overridden the ConsumerBase implementation must + // be called from the derived class. The ConsumerBase version of + // onSidebandStreamChanged does nothing and can be overriden by derived + // classes if they want the notification. + virtual void onFrameAvailable(const BufferItem& item) override; + virtual void onFrameReplaced(const BufferItem& item) override; + virtual void onBuffersReleased() override; + virtual void onSidebandStreamChanged() override; // freeBufferLocked frees up the given buffer slot. If the slot has been // initialized this will release the reference to the GraphicBuffer in that @@ -246,35 +244,6 @@ protected: // // This mutex is intended to be locked by derived classes. mutable Mutex mMutex; - - // Implements the ConsumerListener interface - virtual void onFrameAvailable(const BufferItem& item) override; - virtual void onFrameReplaced(const BufferItem& item) override; - virtual void onBuffersReleased() override; - virtual void onSidebandStreamChanged() override; - - enum MessageType { - ON_FRAME_AVAILABLE, - ON_FRAME_REPLACED, - ON_BUFFERS_RELEASED, - ON_SIDEBAND_STREAM_CHANGED, - EXIT, - }; - - mutable Mutex mMessageQueueLock; - Condition mMessageAvailable; - std::queue<std::pair<MessageType, BufferItem>> mMessageQueue; - - class MessageThread : public Thread { - public: - MessageThread(ConsumerBase* consumerBase) : - mConsumerBase(consumerBase) {}; - protected: - virtual bool threadLoop() override; - ConsumerBase* mConsumerBase; - }; - - sp<MessageThread> mMessageThread; }; // ---------------------------------------------------------------------------- |