summaryrefslogtreecommitdiff
path: root/src/main.rs
blob: 5e9ae13dd14b35f94f56124d3b870c313bd497a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use anyhow::Result;
use sshcamera::v4l2::{Device as V4l2, Field};
use sshcamera::v4l2cairo::V4l2Cairo;
use sshcamera::gtk;
use gtk4::glib::ExitCode;

fn main() -> Result<ExitCode>{
    let v = V4l2::open("/dev/video0")?;

    // 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 v2c = V4l2Cairo::new(c);
    gtk::main(v2c)
}