use serde::{Deserialize, Serialize};
use crate::common::parsable::Parsable;
#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
pub struct Metadata {
pub sample_rate: i32,
pub buffer_size: i32,
}
impl Default for Metadata {
fn default() -> Self {
Metadata {
sample_rate: 0,
buffer_size: 0,
}
}
}
impl Parsable<Metadata> for Metadata {
fn from_bytes(bytes: &[u8]) -> Metadata {
let sample_rate = i32::from_le_bytes(bytes[0..4].try_into().unwrap());
let buffer_size = i32::from_le_bytes(bytes[4..8].try_into().unwrap());
Metadata {
sample_rate,
buffer_size,
}
}
}