From e07e3e5ef56b768d73e78fb273f2cfe6ebffc945 Mon Sep 17 00:00:00 2001 From: Pablo Ceballos Date: Tue, 15 Mar 2016 15:07:54 -0700 Subject: Revert "Add a callback thread to ConsumerBase" This reverts commit 22b5702b40eca423171124e69c3d4ad03a3e6900. Bug 27557176 Change-Id: Icc0e79af82329e6414ed44a99e90631cfcf140fa --- include/gui/ConsumerBase.h | 55 ++++++++++------------------------------------ 1 file changed, 12 insertions(+), 43 deletions(-) (limited to 'include/gui/ConsumerBase.h') 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 #include -#include - 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> mMessageQueue; - - class MessageThread : public Thread { - public: - MessageThread(ConsumerBase* consumerBase) : - mConsumerBase(consumerBase) {}; - protected: - virtual bool threadLoop() override; - ConsumerBase* mConsumerBase; - }; - - sp mMessageThread; }; // ---------------------------------------------------------------------------- -- cgit v1.2.3-59-g8ed1b