creek_core/
lib.rs

1#![warn(rust_2018_idioms)]
2#![warn(rust_2021_compatibility)]
3#![warn(clippy::missing_panics_doc)]
4#![warn(clippy::clone_on_ref_ptr)]
5#![deny(trivial_numeric_casts)]
6#![forbid(unsafe_code)]
7
8use std::time;
9
10pub mod read;
11pub mod write;
12
13pub use read::{DataBlock, Decoder, ReadDiskStream, ReadStreamOptions, SeekMode};
14pub use write::{Encoder, WriteBlock, WriteDiskStream, WriteStatus, WriteStreamOptions};
15
16const SERVER_WAIT_TIME: time::Duration = time::Duration::from_millis(1);
17
18/// Info about the file/files.
19#[derive(Clone)]
20pub struct FileInfo<FileParams> {
21    /// The total number of frames in the file/files.
22    pub num_frames: usize,
23    /// The number of channels in the file/files.
24    pub num_channels: u16,
25    /// The sample rate of the file/files (if it exists).
26    pub sample_rate: Option<u32>,
27
28    /// Additional info provided by the encoder/decoder.
29    pub params: FileParams,
30}