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
This commit is contained in:
parent
2e1f4b5212
commit
afe3081e0e
@ -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;
|
||||
}
|
||||
|
||||
|
@ -959,7 +959,7 @@ void Layer::onPostComposition() {
|
||||
bool Layer::isVisible() const {
|
||||
const Layer::State& s(mDrawingState);
|
||||
return !(s.flags & layer_state_t::eLayerHidden) && s.alpha
|
||||
&& (mActiveBuffer != NULL);
|
||||
&& (mActiveBuffer != NULL || mSidebandStream != NULL);
|
||||
}
|
||||
|
||||
Region Layer::latchBuffer(bool& recomputeVisibleRegions)
|
||||
|
Loading…
Reference in New Issue
Block a user