diff --git a/webcam-capture/src/main/java/com/github/sarxos/webcam/WebcamUpdater.java b/webcam-capture/src/main/java/com/github/sarxos/webcam/WebcamUpdater.java index f363b11e..e7ee618d 100644 --- a/webcam-capture/src/main/java/com/github/sarxos/webcam/WebcamUpdater.java +++ b/webcam-capture/src/main/java/com/github/sarxos/webcam/WebcamUpdater.java @@ -3,6 +3,7 @@ import java.awt.image.BufferedImage; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; @@ -234,7 +235,13 @@ private void tick() { // reschedule task - executor.schedule(this, delay, TimeUnit.MILLISECONDS); + if (webcam.isOpen()) { + try { + executor.schedule(this, delay, TimeUnit.MILLISECONDS); + } catch (RejectedExecutionException e) { + LOG.trace("Webcam update has been rejected", e); + } + } // notify webcam listeners about the new image available