diff options
Diffstat (limited to 'libs/gui/BufferQueueProducer.cpp')
| -rw-r--r-- | libs/gui/BufferQueueProducer.cpp | 12 |
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; } |