use anyhow::{anyhow, Result}; use sshcamera::v4l2::{Device as V4l2, Field}; use sshcamera::io::RWBundle; use sshcamera::source; use std::env; use std::io; fn main() -> Result<()>{ let mut args = env::args(); if args.next() == None{ return Err(anyhow!("arg0 is not present??")); } let Some(arg1) = args.next() else{ return Err(anyhow!("Give me args")); }; if args.next() != None{ return Err(anyhow!("too many args")); } let v = V4l2::open(arg1)?; // TODO: It should be better. let c = v.captstream_builder()? .set_pixelformat("MJPG".into()) //.set_pixelformat("YUYV".into()) .set_field(Field::None) .build()?; assert!(["YUYV", "MJPG"].contains(&c.pixelformat().as_str())); assert!(c.field() == Field::None); let io = RWBundle(io::stdin(), io::stdout()); source::main(c, io) }