2017-08-06 01:21:53 -04:00
|
|
|
extern crate lab_ebml;
|
|
|
|
|
|
|
|
use std::io::{Cursor, stdout, Write};
|
|
|
|
use lab_ebml::webm::*;
|
|
|
|
|
|
|
|
pub fn main() {
|
|
|
|
let mut cursor = Cursor::new(Vec::new());
|
|
|
|
|
2017-09-06 01:53:49 -04:00
|
|
|
encode_webm_element(&WebmElement::EbmlHead, &mut cursor).unwrap();
|
|
|
|
encode_webm_element(&WebmElement::Segment, &mut cursor).unwrap();
|
2017-08-07 01:03:20 -04:00
|
|
|
|
2017-09-06 01:53:49 -04:00
|
|
|
encode_webm_element(&WebmElement::Tracks(&[]), &mut cursor).unwrap();
|
2017-08-14 00:58:06 -04:00
|
|
|
|
2017-09-06 01:53:49 -04:00
|
|
|
encode_webm_element(&WebmElement::Cluster, &mut cursor).unwrap();
|
|
|
|
encode_webm_element(&WebmElement::Timecode(0), &mut cursor).unwrap();
|
2017-08-07 01:12:18 -04:00
|
|
|
|
2017-09-06 01:53:49 -04:00
|
|
|
encode_webm_element(&WebmElement::SimpleBlock(SimpleBlock {
|
2017-08-12 16:48:24 -04:00
|
|
|
track: 3,
|
|
|
|
flags: 0x0,
|
|
|
|
timecode: 123,
|
|
|
|
data: "Hello, World".as_bytes()
|
2017-09-04 01:41:48 -04:00
|
|
|
}), &mut cursor).unwrap();
|
2017-08-12 16:48:24 -04:00
|
|
|
|
2017-09-06 01:53:49 -04:00
|
|
|
encode_webm_element(&WebmElement::Cluster, &mut cursor).unwrap();
|
|
|
|
encode_webm_element(&WebmElement::Timecode(1000), &mut cursor).unwrap();
|
2017-08-06 01:21:53 -04:00
|
|
|
|
|
|
|
stdout().write_all(&cursor.get_ref()).unwrap();
|
|
|
|
}
|