From 9de92cfef12e1ead5ce8e3ec48c0810d936e409c Mon Sep 17 00:00:00 2001 From: Paulo Dias Date: Tue, 14 Nov 2023 13:23:24 +0000 Subject: [PATCH] plugins/videostream/VideoStream: Protecting reading from a closed stream. --- .../pt/lsts/neptus/plugins/videostream/VideoStream.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins-dev/videostream/src/java/pt/lsts/neptus/plugins/videostream/VideoStream.java b/plugins-dev/videostream/src/java/pt/lsts/neptus/plugins/videostream/VideoStream.java index 360b8c88d9..93924c3189 100644 --- a/plugins-dev/videostream/src/java/pt/lsts/neptus/plugins/videostream/VideoStream.java +++ b/plugins-dev/videostream/src/java/pt/lsts/neptus/plugins/videostream/VideoStream.java @@ -544,6 +544,8 @@ public void actionPerformed(ActionEvent e) { NeptusLog.pub().info("Closing video streams"); noVideoLogoState = false; isCleanTurnOffCam = true; + state = false; + ipCam = false; if (capture != null && capture.isOpened()) { try { capture.release(); @@ -552,8 +554,6 @@ public void actionPerformed(ActionEvent e) { NeptusLog.pub().error(exp.getMessage()); } } - state = false; - ipCam = false; repaint(500); } }); @@ -1183,7 +1183,7 @@ else if (ipCam && state) { long startTime = System.currentTimeMillis(); isAliveIPCam = false; resetWatchDog(4000); - while (watchDog.isAlive() && !isAliveIPCam) { + while (watchDog.isAlive() && !isAliveIPCam && capture != null && capture.isOpened()) { try { capture.read(mat); isAliveIPCam = true;