summaryrefslogtreecommitdiff
path: root/libs/gui/ConsumerBase.cpp
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 /libs/gui/ConsumerBase.cpp
parent5229d8f558dfa7d91037321dcf26fbc1131df15a (diff)
Revert "Add a callback thread to ConsumerBase"
This reverts commit 22b5702b40eca423171124e69c3d4ad03a3e6900. Bug 27557176 Change-Id: Icc0e79af82329e6414ed44a99e90631cfcf140fa
Diffstat (limited to 'libs/gui/ConsumerBase.cpp')
-rw-r--r--libs/gui/ConsumerBase.cpp78
1 files changed, 1 insertions, 77 deletions
diff --git a/libs/gui/ConsumerBase.cpp b/libs/gui/ConsumerBase.cpp
index 8e26ac842c..2187e5e8eb 100644
--- a/libs/gui/ConsumerBase.cpp
+++ b/libs/gui/ConsumerBase.cpp
@@ -74,26 +74,12 @@ ConsumerBase::ConsumerBase(const sp<IGraphicBufferConsumer>& bufferQueue, bool c
} else {
mConsumer->setConsumerName(mName);
}
-
- mMessageThread = new MessageThread(this);
- mMessageThread->run(mName);
}
ConsumerBase::~ConsumerBase() {
CB_LOGV("~ConsumerBase");
-
- mMessageThread->requestExit();
- {
- Mutex::Autolock lock(mMessageQueueLock);
- mMessageQueue.emplace(std::piecewise_construct,
- std::forward_as_tuple(EXIT),
- std::forward_as_tuple());
- mMessageAvailable.signal();
- }
-
- mMessageThread->join();
-
Mutex::Autolock lock(mMutex);
+
// Verify that abandon() has been called before we get here. This should
// be done by ConsumerBase::onLastStrongRef(), but it's possible for a
// derived class to override that method and not call
@@ -114,13 +100,6 @@ void ConsumerBase::freeBufferLocked(int slotIndex) {
}
void ConsumerBase::onFrameAvailable(const BufferItem& item) {
- Mutex::Autolock lock(mMessageQueueLock);
- mMessageQueue.emplace(std::piecewise_construct,
- std::forward_as_tuple(ON_FRAME_AVAILABLE),
- std::forward_as_tuple(item));
- mMessageAvailable.signal();
-}
-void ConsumerBase::onFrameAvailableHandler(const BufferItem& item) {
CB_LOGV("onFrameAvailable");
sp<FrameAvailableListener> listener;
@@ -136,14 +115,6 @@ void ConsumerBase::onFrameAvailableHandler(const BufferItem& item) {
}
void ConsumerBase::onFrameReplaced(const BufferItem &item) {
- Mutex::Autolock lock(mMessageQueueLock);
- mMessageQueue.emplace(std::piecewise_construct,
- std::forward_as_tuple(ON_FRAME_REPLACED),
- std::forward_as_tuple(item));
- mMessageAvailable.signal();
-}
-
-void ConsumerBase::onFrameReplacedHandler(const BufferItem &item) {
CB_LOGV("onFrameReplaced");
sp<FrameAvailableListener> listener;
@@ -159,14 +130,6 @@ void ConsumerBase::onFrameReplacedHandler(const BufferItem &item) {
}
void ConsumerBase::onBuffersReleased() {
- Mutex::Autolock lock(mMessageQueueLock);
- mMessageQueue.emplace(std::piecewise_construct,
- std::forward_as_tuple(ON_BUFFERS_RELEASED),
- std::forward_as_tuple());
- mMessageAvailable.signal();
-}
-
-void ConsumerBase::onBuffersReleasedHandler() {
Mutex::Autolock lock(mMutex);
CB_LOGV("onBuffersReleased");
@@ -186,45 +149,6 @@ void ConsumerBase::onBuffersReleasedHandler() {
}
void ConsumerBase::onSidebandStreamChanged() {
- Mutex::Autolock lock(mMessageQueueLock);
- mMessageQueue.emplace(std::piecewise_construct,
- std::forward_as_tuple(ON_SIDEBAND_STREAM_CHANGED),
- std::forward_as_tuple());
- mMessageAvailable.signal();
-}
-
-void ConsumerBase::onSidebandStreamChangedHandler() {
-}
-
-bool ConsumerBase::MessageThread::threadLoop() {
- Mutex::Autolock lock(mConsumerBase->mMessageQueueLock);
-
- if (mConsumerBase->mMessageQueue.empty()) {
- mConsumerBase->mMessageAvailable.wait(mConsumerBase->mMessageQueueLock);
- }
-
- while (!mConsumerBase->mMessageQueue.empty()) {
- auto nextMessage = mConsumerBase->mMessageQueue.front();
-
- switch (nextMessage.first) {
- case ON_FRAME_AVAILABLE:
- mConsumerBase->onFrameAvailableHandler(nextMessage.second);
- break;
- case ON_FRAME_REPLACED:
- mConsumerBase->onFrameReplacedHandler(nextMessage.second);
- break;
- case ON_BUFFERS_RELEASED:
- mConsumerBase->onBuffersReleasedHandler();
- break;
- case ON_SIDEBAND_STREAM_CHANGED:
- mConsumerBase->onSidebandStreamChangedHandler();
- break;
- case EXIT:
- break;
- }
- mConsumerBase->mMessageQueue.pop();
- }
- return true;
}
void ConsumerBase::abandon() {