use crate::sys::ESStreamInfo;
use derive_builder::Builder;
use serde::Serialize;
pub type CESStreamInfo = ESStreamInfo;
pub(crate) fn is_video_key_frame(info: &CESStreamInfo) -> bool {
info.streamType == 0 && info.frameType == 0
}
#[derive(Clone)]
pub struct EsPkg {
pub info: ESStreamInfo,
pub payload: Vec<u8>,
}
#[derive(Builder, Serialize)]
#[builder(setter(into))]
pub struct MpegtsMuxerConfig {
#[serde(default)]
#[builder(default)]
use_time_stamp: bool,
}
#[derive(Builder, Serialize)]
#[builder(setter(into))]
pub struct FlvMuxerConfig {
#[serde(default)]
#[builder(default)]
use_flv_enhance: bool,
}
#[cfg(test)]
mod tests {
use std::mem::zeroed;
use super::*;
#[test]
fn test_case_default() {
assert_eq!(ESStreamInfo::default(), CESStreamInfo::default());
assert_eq!(ESStreamInfo::default(), { unsafe { zeroed() } });
}
}