X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fkaka%2Fcakelight%2FFrameGrabber.java;h=e654c9183075f51198340ea0184cf79210915c28;hb=9abb178697c2d522a21370eeddcc1d635fc6cc47;hp=92fd50a4679331cbeb98615030bbe53dadaa4a56;hpb=03670958a5eab132a4f1a6ae5ae58b88f55bfe2f;p=kaka%2Fcakelight.git
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();
}