X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FVideoMode.java;h=134fa2d33ff574f837af3b68dbd7b0e967ddf4ed;hb=adc29b9a70fa1d03ac67b0b3f397fed7a75f4d7b;hp=ca0bd53127c4840d6284da99bbf74af428f2e90c;hpb=fa0f769bf3338643755de3624aa4b6db53cea6e6;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/VideoMode.java b/src/kaka/cakelight/VideoMode.java index ca0bd53..134fa2d 100644 --- a/src/kaka/cakelight/VideoMode.java +++ b/src/kaka/cakelight/VideoMode.java @@ -7,8 +7,8 @@ import java.util.function.Consumer; public class VideoMode extends Mode { private Configuration config; - private Thread thread; - private Consumer frameConsumer; + private Thread grabberThread; + private Consumer frameConsumer; private VideoDeviceListener deviceListener; public VideoMode() { @@ -24,19 +24,19 @@ public class VideoMode extends Mode { @Override public void exit() { - thread.interrupt(); + grabberThread.interrupt(); deviceListener.stopListening(); } private void startGrabberThread(File videoDevice) { assert frameConsumer != null; - thread = new Thread() { + grabberThread = new Thread() { public void run() { try (FrameGrabber grabber = FrameGrabber.from(videoDevice, config)) { while (!isInterrupted()) { - Optional frame = grabber.grabFrame(); + Optional frame = grabber.grabFrame(); if (frameConsumer != null) frame.ifPresent(frameConsumer); - frame.ifPresent(VideoMode.this::onFrame); + frame.ifPresent(VideoMode.this::onVideoFrame); // timeIt("frame", grabber::grabFrame); } } catch (IOException e) { @@ -44,21 +44,21 @@ public class VideoMode extends Mode { } } }; - thread.start(); + grabberThread.start(); } - public void onVideoFrame(Consumer consumer) { + public void onVideoFrame(Consumer consumer) { frameConsumer = consumer; } - private void onFrame(Frame frame) { + private void onVideoFrame(VideoFrame frame) { updateWithFrame(frame.getLedFrame()); } public void onVideoDeviceChange(Optional videoDevice) { // Should only happen when this mode is active! - if (thread != null) { - thread.interrupt(); + if (grabberThread != null) { + grabberThread.interrupt(); } videoDevice.ifPresent(this::startGrabberThread); }