diff options
Diffstat (limited to 'transcoder')
-rw-r--r-- | transcoder/src/subtitles.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/transcoder/src/subtitles.rs b/transcoder/src/subtitles.rs index 1fea3cf..84db5a9 100644 --- a/transcoder/src/subtitles.rs +++ b/transcoder/src/subtitles.rs @@ -39,6 +39,18 @@ pub fn parse_webvtt_blocks(blocks: Vec<(u64, u64, Vec<u8>)>) -> anyhow::Result<V } Ok(out) } +pub fn parse_pgs_blocks(blocks: Vec<(u64, u64, Vec<u8>)>) -> anyhow::Result<Vec<SubtitleCue>> { + let mut out = Vec::new(); + for (pts, dur, block) in blocks { + let _content = String::from_utf8_lossy(&block).trim().to_string(); + out.push(SubtitleCue { + content: "PGS stub".to_string(), + start: pts as f64 / 1000., + end: (pts + dur) as f64 / 1000., + }); + } + Ok(out) +} pub fn parse_ass_blocks( _codec_private: Vec<u8>, |