diff --git a/services/camera/libcameraservice/api2/DepthCompositeStream.cpp b/services/camera/libcameraservice/api2/DepthCompositeStream.cpp index f627b25100..2eec0f7f9c 100644 --- a/services/camera/libcameraservice/api2/DepthCompositeStream.cpp +++ b/services/camera/libcameraservice/api2/DepthCompositeStream.cpp @@ -634,6 +634,11 @@ status_t DepthCompositeStream::deleteInternalStreams() { mDepthStreamId = -1; } + if (mOutputSurface != nullptr) { + mOutputSurface->disconnect(NATIVE_WINDOW_API_CAMERA); + mOutputSurface.clear(); + } + return ret; } diff --git a/services/camera/libcameraservice/api2/HeicCompositeStream.cpp b/services/camera/libcameraservice/api2/HeicCompositeStream.cpp index 3eba863108..8e9c39ec00 100644 --- a/services/camera/libcameraservice/api2/HeicCompositeStream.cpp +++ b/services/camera/libcameraservice/api2/HeicCompositeStream.cpp @@ -214,6 +214,10 @@ status_t HeicCompositeStream::deleteInternalStreams() { mAppSegmentStreamId = -1; } + if (mOutputSurface != nullptr) { + mOutputSurface->disconnect(NATIVE_WINDOW_API_CAMERA); + mOutputSurface.clear(); + } return res; }