summaryrefslogtreecommitdiff
path: root/include/gui/ConsumerBase.h
diff options
context:
space:
mode:
author Pablo Ceballos <pceballos@google.com> 2016-03-15 15:07:54 -0700
committer Pablo Ceballos <pceballos@google.com> 2016-03-15 15:21:21 -0700
commite07e3e5ef56b768d73e78fb273f2cfe6ebffc945 (patch)
tree5389063fd296967d34389f32cbba367f3b7a34cb /include/gui/ConsumerBase.h
parent5229d8f558dfa7d91037321dcf26fbc1131df15a (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.h55
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;
};
// ----------------------------------------------------------------------------