From afe3081e0e224a3d88da2e8f211e994f833cc6bb Mon Sep 17 00:00:00 2001 From: Wonsik Kim Date: Mon, 31 Mar 2014 23:16:08 +0900 Subject: 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 --- libs/gui/BufferQueueProducer.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'libs/gui/BufferQueueProducer.cpp') 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& stream) { - Mutex::Autolock _l(mCore->mMutex); - mCore->mSidebandStream = stream; + sp listener; + { // Autolock scope + Mutex::Autolock _l(mCore->mMutex); + mCore->mSidebandStream = stream; + listener = mCore->mConsumerListener; + } // Autolock scope + + if (listener != NULL) { + listener->onSidebandStreamChanged(); + } return NO_ERROR; } -- cgit v1.2.3-59-g8ed1b