synapto_interface/
camera.rs1use crate::plugin::Plugin;
2use async_trait::async_trait;
3use serde::{Deserialize, Serialize};
4
5#[doc = " Represents a single visual frame captured from a camera peripheral."]
6#[derive(Debug, Clone, Serialize, Deserialize, schemars :: JsonSchema)]
7pub struct CameraInputFrame {
8 #[doc = " JPEG encoded binary frame data."]
9 pub data: Vec<u8>,
10}
11
12#[async_trait]
13pub trait CameraPlugin: Plugin + Send + Sync {
14 async fn start(
15 &self,
16 video_tx: crate::sync::watch::Sender<crate::camera::CameraInputFrame>,
17 ) -> Result<(), String>;
18}