//! Frame utilities /// A `Frame` is a collection of samples which have a a specific /// layout represented by `ChannelLayout` pub trait Frame {} #[derive(Clone, Copy, Debug, PartialEq, Eq)] /// A monaural frame. pub struct MonoFrame { /// Mono channel pub m: T, } impl Frame for MonoFrame {} #[derive(Clone, Copy, Debug, PartialEq, Eq)] /// A stereo frame. pub struct StereoFrame { /// Left channel pub l: T, /// Right channel pub r: T, } impl Frame for StereoFrame {}