//set timestamp in capture struct to be timestamp of most recent frame
capture->timestamp = buf.timestamp;
- return 1;
+ return 2;
}
-static void mainloop_v4l2(CvCaptureCAM_V4L* capture) {
+static int mainloop_v4l2(CvCaptureCAM_V4L* capture) {
unsigned int count;
count = 1;
break;
}
- if (read_frame_v4l2 (capture))
- break;
+ int readresult = read_frame_v412(capture);
+ if (readresult == 2){
+ return 0;
+ }
+ if (readresult){
+ return 1;
+ }
}
}
}
{
// skip first frame. it is often bad -- this is unnotied in traditional apps,
// but could be fatal if bad jpeg is enabled
- mainloop_v4l2(capture);
+ if(!mainloop_v4l2(capture)){
+ fprintf( stderr, "HIGHGUI ERROR: V4L: Could not capture image.\n");
+ return 0;
+ }
}
#endif
if (V4L2_SUPPORT == 1)
{
-
- mainloop_v4l2(capture);
-
+ if(!mainloop_v4l2(capture)){
+ fprintf( stderr, "HIGHGUI ERROR: V4L: Could not capture image.\n");
+ return 0;
+ }
}
#endif /* HAVE_CAMV4L2 */
#if defined(HAVE_CAMV4L) && defined(HAVE_CAMV4L2)