From 93f0bbfbe9c21cda1034bf462a911bfdb20d6b4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 9 Jul 2025 10:38:29 +0300 Subject: [PATCH] mccparse: Convert "U" to the correct byte representation It's supposed to be E1 00 00 00 and not E1 00 00. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/705 Part-of: --- video/closedcaption/src/mcc_parse/parser.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/video/closedcaption/src/mcc_parse/parser.rs b/video/closedcaption/src/mcc_parse/parser.rs index 34acd2fa5..fdb72caaf 100644 --- a/video/closedcaption/src/mcc_parse/parser.rs +++ b/video/closedcaption/src/mcc_parse/parser.rs @@ -191,7 +191,7 @@ fn mcc_payload_item(s: &mut &[u8]) -> ModalResult> { literal("R").map(|_| Either::Right([0xfd, 0x80, 0x80].as_ref())), literal("S").map(|_| Either::Right([0x96, 0x69].as_ref())), literal("T").map(|_| Either::Right([0x61, 0x01].as_ref())), - literal("U").map(|_| Either::Right([0xe1, 0x00, 0x00].as_ref())), + literal("U").map(|_| Either::Right([0xe1, 0x00, 0x00, 0x00].as_ref())), literal("Z").map(|_| Either::Right([0x00].as_ref())), take_while(2..=2, AsChar::is_hex_digit).map(|s: &[u8]| { let hex_to_u8 = |v: u8| match v { @@ -503,8 +503,8 @@ mod tests { 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, - 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x73, 0x91, 0xE1, 0x00, 0x00, 0xC1, - 0x3F, 0xFF, 0x74, 0x00, 0x00, 0xAE, 0xB4 + 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x73, 0x91, 0xE1, 0x00, 0x00, 0x00, + 0xC1, 0x3F, 0xFF, 0x74, 0x00, 0x00, 0xAE, 0xB4 ]) )) ); @@ -527,8 +527,8 @@ mod tests { 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, - 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x73, 0x91, 0xE1, 0x00, 0x00, 0xC1, - 0x3F, 0xFF, 0x74, 0x00, 0x00, 0xAE, 0xB4 + 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x73, 0x91, 0xE1, 0x00, 0x00, 0x00, + 0xC1, 0x3F, 0xFF, 0x74, 0x00, 0x00, 0xAE, 0xB4 ]) )) ); @@ -551,8 +551,8 @@ mod tests { 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, - 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x73, 0x91, 0xE1, 0x00, 0x00, 0xC1, - 0x3F, 0xFF, 0x74, 0x00, 0x00, 0xAE, 0xB4 + 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x73, 0x91, 0xE1, 0x00, 0x00, 0x00, + 0xC1, 0x3F, 0xFF, 0x74, 0x00, 0x00, 0xAE, 0xB4 ]) )) );