X-Git-Url: http://dolda2000.com/gitweb/?p=kaka%2Fcakelight.git;a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FFrameGrabber.java;h=e654c9183075f51198340ea0184cf79210915c28;hp=92fd50a4679331cbeb98615030bbe53dadaa4a56;hb=48d4699cf1e92ae7f744c866790417984ec36005;hpb=03670958a5eab132a4f1a6ae5ae58b88f55bfe2f diff --git a/src/kaka/cakelight/FrameGrabber.java b/src/kaka/cakelight/FrameGrabber.java index 92fd50a..e654c91 100644 --- a/src/kaka/cakelight/FrameGrabber.java +++ b/src/kaka/cakelight/FrameGrabber.java @@ -28,6 +28,7 @@ public class FrameGrabber implements Closeable { fileStream = new FileInputStream(file); return true; } catch (FileNotFoundException e) { + // TODO: handle java.io.FileNotFoundException: /dev/video1 (Permission denied) e.printStackTrace(); return false; } @@ -36,12 +37,14 @@ public class FrameGrabber implements Closeable { /** * Must be run in the same thread as {@link #prepare}. */ - public Optional grabFrame() { + public Optional grabFrame() { try { byte[] data = new byte[bytesPerFrame]; int count = fileStream.read(data); - log("# of bytes read = " + count); - return Optional.of(Frame.of(data, config)); + if (count != bytesPerFrame) { + log("Expected to read " + bytesPerFrame + " bytes per frame but read " + count); + } + return Optional.of(VideoFrame.of(data, config)); } catch (IOException e) { e.printStackTrace(); }