use crate::CodecId;
use bytes::Bytes;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct VideoParams {
pub width: u32,
pub height: u32,
pub profile: u8,
pub level: u8,
pub tier: u8,
pub bit_depth: u8,
}
#[derive(Debug, Clone)]
pub struct CodecConfig {
pub codec: CodecId,
pub params: VideoParams,
pub config_record: Bytes,
}
pub trait CodecParser {
const CODEC: CodecId;
fn parse_config(data: &[u8]) -> Option<VideoParams>;
fn is_random_access_point(data: &[u8]) -> bool;
fn carries_config(data: &[u8]) -> bool;
fn hls_codec_string(params: &VideoParams) -> String;
}