diff --git a/services/camera/libcameraservice/device3/Camera3StreamSplitter.cpp b/services/camera/libcameraservice/device3/Camera3StreamSplitter.cpp index 84c2ec7544..3089181890 100644 --- a/services/camera/libcameraservice/device3/Camera3StreamSplitter.cpp +++ b/services/camera/libcameraservice/device3/Camera3StreamSplitter.cpp @@ -139,7 +139,9 @@ void Camera3StreamSplitter::disconnect() { mOutputSlots.clear(); mConsumerBufferCount.clear(); - mConsumer->consumerDisconnect(); + if (mConsumer.get() != nullptr) { + mConsumer->consumerDisconnect(); + } if (mBuffers.size() > 0) { SP_LOGW("%zu buffers still being tracked", mBuffers.size());