Expand description
A parser for the WebVTT (.vtt
) format provided by subtp::vtt::WebVtt
.
§Example
use subtp::vtt::WebVtt;
use subtp::vtt::VttCue;
use subtp::vtt::VttTimings;
use subtp::vtt::VttTimestamp;
let text = r#"WEBVTT
00:00:01.000 --> 00:00:04.000
- Never drink liquid nitrogen.
00:00:05.000 --> 00:00:09.000
- It will perforate your stomach.
- You could die.
"#;
let vtt = WebVtt::parse(text).unwrap();
assert_eq!(
vtt,
WebVtt {
blocks: vec![
VttCue {
timings: VttTimings {
start: VttTimestamp {
seconds: 1,
..Default::default()
},
end: VttTimestamp {
seconds: 4,
..Default::default()
},
},
payload: vec!["- Never drink liquid nitrogen.".to_string()],
..Default::default()
}
.into(),
VttCue {
timings: VttTimings {
start: VttTimestamp {
seconds: 5,
..Default::default()
},
end: VttTimestamp {
seconds: 9,
..Default::default()
},
},
payload: vec![
"- It will perforate your stomach.".to_string(),
"- You could die.".to_string(),
],
..Default::default()
}
.into(),
],
..Default::default()
}
);
let rendered = vtt.render();
assert_eq!(rendered, text);
Structs§
- The anchor by percentages.
- The settings of cue.
- The percentage in range 0.0 to 100.0, inclusive.
- The position setting of cue.
- The cue block.
- The header block.
- The region block.
- The style block.
- The timestamp.
- The timings.
- The WebVTT (
.vtt
) format.
Enums§
- The alignment setting.
- The line setting of cue.
- The alignment setting of line.
- The alignment setting of position.
- The scroll setting of region.
- The vertical setting of cue.
- The block of WebVTT.
- The comment block.
- The description of the WebVTT.
Type Aliases§
- The region identifier.