use crate::codec::Codec; use crate::device::Device; use crate::format::Format; use crate::frame::Frame; use crate::unit::Unit; pub type DecodeResult = std::result::Result>, Error>; pub trait Decode { type Device: Device; type Codec: Codec; type Format: Format; type Error; fn decode( &mut self, unit: Unit, ) -> DecodeResult; }