synapto_interface/cognitive_output_audio.rs
1use crate::plugin::Plugin;
2use derive_more::Deref;
3use serde::{Deserialize, Serialize};
4
5/// Represents a chunk of raw audio output produced by the system.
6#[derive(Deref, Clone, Debug, Serialize, Deserialize)]
7pub struct CognitiveOutputAudio(pub Vec<u8>);
8
9use crate::sync::mpsc;
10use async_trait::async_trait;
11#[async_trait]
12pub trait AudioOutputPlugin: Plugin + Send + Sync {
13 async fn start(&self, rx: mpsc::Receiver<CognitiveOutputAudio>) -> Result<(), String>;
14}