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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2357>
This commit is contained in:
Sebastian Dröge 2025-07-09 10:38:29 +03:00
parent ad027bd05d
commit 93f0bbfbe9

View file

@ -191,7 +191,7 @@ fn mcc_payload_item(s: &mut &[u8]) -> ModalResult<Either<u8, &'static [u8]>> {
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
])
))
);