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 b73e44ce..09516e47 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 @@ -194,7 +194,11 @@ public void run() { long delta = t2 - t1 + 1; // +1 to avoid division by zero long delay = Math.max((1000 / TARGET_FPS) - delta, 0); - fps = (4 * fps + 1000 / delta) / 5; + if (device instanceof WebcamDevice.FPSSource) { + fps = ((WebcamDevice.FPSSource) device).getFPS(); + } else { + fps = (4 * fps + 1000 / delta) / 5; + } // reschedule task