summaryrefslogtreecommitdiff
path: root/libs/gui/BufferQueueProducer.cpp
diff options
context:
space:
mode:
author Wonsik Kim <wonsik@google.com> 2014-03-31 23:16:08 +0900
committer Wonsik Kim <wonsik@google.com> 2014-04-07 15:59:22 +0900
commitafe3081e0e224a3d88da2e8f211e994f833cc6bb (patch)
tree3217e0bec74a981328bdeb23eb1fd7976df36eca /libs/gui/BufferQueueProducer.cpp
parent2e1f4b5212ccc1b2091e44396e051f033929cee4 (diff)
Fix sideband stream issues
- Notify a listener when sideband stream is set - Mark a layer as visible when sideband stream is set, even though no buffer is queued. Change-Id: I9652bf530f2b5ce331533ec1bb3b10a815ca191c
Diffstat (limited to 'libs/gui/BufferQueueProducer.cpp')
-rw-r--r--libs/gui/BufferQueueProducer.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp
index 9dd90bab58..249b7c7f55 100644
--- a/libs/gui/BufferQueueProducer.cpp
+++ b/libs/gui/BufferQueueProducer.cpp
@@ -793,8 +793,16 @@ status_t BufferQueueProducer::disconnect(int api) {
}
status_t BufferQueueProducer::setSidebandStream(const sp<NativeHandle>& stream) {
- Mutex::Autolock _l(mCore->mMutex);
- mCore->mSidebandStream = stream;
+ sp<IConsumerListener> listener;
+ { // Autolock scope
+ Mutex::Autolock _l(mCore->mMutex);
+ mCore->mSidebandStream = stream;
+ listener = mCore->mConsumerListener;
+ } // Autolock scope
+
+ if (listener != NULL) {
+ listener->onSidebandStreamChanged();
+ }
return NO_ERROR;
}