Camera: Disconnect composite streams from output surface at shutdown

When a composite stream is deleted, the previously connected output
surface needs to be disconnected. Otherwise when the composite stream is
re-created with the same output surface, connect() will fail.

Test: TestingCamera2, and Camera CTS
Bug: 79465976
Bug: 109735087
Bug: 124072769
Change-Id: I254238235d306f9be8152110b1c55a7ada46424a
gugelfrei
Shuzhen Wang 5 years ago
parent ffb2516cc7
commit 2c54504df6

@ -634,6 +634,11 @@ status_t DepthCompositeStream::deleteInternalStreams() {
mDepthStreamId = -1;
}
if (mOutputSurface != nullptr) {
mOutputSurface->disconnect(NATIVE_WINDOW_API_CAMERA);
mOutputSurface.clear();
}
return ret;
}

@ -214,6 +214,10 @@ status_t HeicCompositeStream::deleteInternalStreams() {
mAppSegmentStreamId = -1;
}
if (mOutputSurface != nullptr) {
mOutputSurface->disconnect(NATIVE_WINDOW_API_CAMERA);
mOutputSurface.clear();
}
return res;
}

Loading…
Cancel
Save