0.2.0 |
|
---|---|
0.1.0 |
|
#32 in #registration
34KB
格式标识符 值记录在 SMPTE注册机构,用于 MPEG传输流 数据。
(此创建自动由 SMPTE-RA数据的镜像 通过 smptera-format-identifiers-rust 项目的代码生成。)
简单的包装类型 FormatIdentifier
定义了SMPTE-RA数据中的每个 格式标识符 的常量,
use std::io::stdout;
println!("{:?}", FormatIdentifier::AC_3);
// prints: FormatIdentifier(FourCC{AC-3})
用法
从切片创建,
let descriptor_data = b"\x05\x04CUEI";
let id = FormatIdentifier::from(&descriptor_data[2..6]);
assert_eq!(id, FormatIdentifier::CUEI);
包装现有的FourCC值,
let fcc = FourCC(*b"CUEI");
let id = FormatIdentifier(fcc);
assert_eq!(id, FormatIdentifier::CUEI);
在匹配中使用提供的常量,
match FormatIdentifier::from(&descriptor_data[2..6]) {
FormatIdentifier::CUEI => println!("SCTE-35 suspected"),
FormatIdentifier::KLVA => println!("SMPTE RP 217-2001 KLV Packets?"),
other_id => println!("Some other kinda stuff: {:?}", other_id),
}
写入字节值,
let mut data = vec![];
let mut io = Cursor::new(data);
let id = &FormatIdentifier::ID3;
io.write(id.into())
.expect("write failed");
assert_eq!(io.into_inner(), [b'I', b'D', b'3', b' ']);
依赖关系
~11KB