rscam 0.5.5

Wrapper for v4l2.
Documentation
extern crate rscam;

use std::sync::mpsc;
use std::thread;

use rscam::{Camera, Config};

fn main() {
    let (tx, rx) = mpsc::channel();

    thread::spawn(move || {
        let mut camera = Camera::new("/dev/video0").unwrap();

        camera
            .start(&Config {
                interval: (1, 10),
                resolution: (1280, 720),
                format: b"MJPG",
                ..Default::default()
            }).unwrap();

        for _ in 0..10 {
            let frame = camera.capture().unwrap();
            tx.send(frame).unwrap();
        }
    });

    for i in 0..10 {
        let frame = rx.recv().unwrap();
        println!("Frame #{} of length {}", i, frame.len());
    }
}