linuxvideo 0.3.5

V4L2 video capture and output library
Documentation
use std::io;

use linuxvideo::Device;

fn main() -> io::Result<()> {
    env_logger::init();

    for res in linuxvideo::list()? {
        match res.and_then(|device| list_device(device)) {
            Ok(()) => {}
            Err(e) => {
                eprintln!("skipping device due to error: {}", e);
            }
        }
    }

    Ok(())
}

fn list_device(device: Device) -> io::Result<()> {
    let caps = device.capabilities()?;
    println!("- {}: {}", device.path()?.display(), caps.card());
    println!("  driver: {}", caps.driver());
    println!("  bus info: {}", caps.bus_info());
    println!("  all capabilities:    {:?}", caps.all_capabilities());
    println!("  avail. capabilities: {:?}", caps.device_capabilities());

    Ok(())
}