From 36bcd5430682048501898431787db8246114364d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 13 May 2020 10:10:45 +0300 Subject: [PATCH] closedcaption/{scc,mcc}parse: Allow an optional UTF-8 BOM at the beginning Some software is apparently writing an UTF-8 BOM at the beinning of the file. --- video/closedcaption/src/mcc_parser.rs | 1 + video/closedcaption/src/scc_parser.rs | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/video/closedcaption/src/mcc_parser.rs b/video/closedcaption/src/mcc_parser.rs index 70e221ee5..c2ec97069 100644 --- a/video/closedcaption/src/mcc_parser.rs +++ b/video/closedcaption/src/mcc_parser.rs @@ -129,6 +129,7 @@ where I::Error: ParseError, { ( + optional(range(&[0xEFu8, 0xBBu8, 0xBFu8][..])), range(b"File Format=MacCaption_MCC V".as_ref()), choice!(range(b"1.0".as_ref()), range(b"2.0".as_ref())), end_of_line(), diff --git a/video/closedcaption/src/scc_parser.rs b/video/closedcaption/src/scc_parser.rs index 440b8df25..bd02f3e94 100644 --- a/video/closedcaption/src/scc_parser.rs +++ b/video/closedcaption/src/scc_parser.rs @@ -120,7 +120,11 @@ where I: RangeStream, I::Error: ParseError, { - (range(b"Scenarist_SCC V1.0".as_ref()), end_of_line()) + ( + optional(range(&[0xEFu8, 0xBBu8, 0xBFu8][..])), + range(b"Scenarist_SCC V1.0".as_ref()), + end_of_line(), + ) .map(|_| SccLine::Header) .message("while parsing header") }