From 3618c23b5a10d048d596eae3b863fe0549e31a32 Mon Sep 17 00:00:00 2001 From: Amrit kumar Mahto Date: Mon, 19 Jan 2026 03:09:07 +0530 Subject: [PATCH 1/3] rust/avc: fix SEI payload size handling and type correctness --- src/rust/src/avc/sei.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/rust/src/avc/sei.rs b/src/rust/src/avc/sei.rs index 3977bc012..6d32ad29e 100644 --- a/src/rust/src/avc/sei.rs +++ b/src/rust/src/avc/sei.rs @@ -50,7 +50,7 @@ pub fn sei_message(ctx: &mut AvcContextRust, seibuf: &[u8]) -> usize { return 0; } - let mut payload_type = 0; + let mut payload_type: usize = 0; while seibuf_idx < seibuf.len() && seibuf[seibuf_idx] == 0xff { payload_type += 255; seibuf_idx += 1; @@ -60,10 +60,10 @@ pub fn sei_message(ctx: &mut AvcContextRust, seibuf: &[u8]) -> usize { return seibuf_idx; } - payload_type += seibuf[seibuf_idx] as i32; + payload_type += seibuf[seibuf_idx] as usize; seibuf_idx += 1; - let mut payload_size = 0; + let mut payload_size: usize = 0; while seibuf_idx < seibuf.len() && seibuf[seibuf_idx] == 0xff { payload_size += 255; seibuf_idx += 1; @@ -73,12 +73,12 @@ pub fn sei_message(ctx: &mut AvcContextRust, seibuf: &[u8]) -> usize { return seibuf_idx; } - payload_size += seibuf[seibuf_idx] as i32; + payload_size += seibuf[seibuf_idx] as usize; seibuf_idx += 1; let mut broken = false; let payload_start = seibuf_idx; - seibuf_idx += payload_size as usize; + seibuf_idx += payload_size; debug!(msg_type = DebugMessageFlag::VIDEO_STREAM; "Payload type: {} size: {} - ", payload_type, payload_size); @@ -94,8 +94,8 @@ pub fn sei_message(ctx: &mut AvcContextRust, seibuf: &[u8]) -> usize { debug!(msg_type = DebugMessageFlag::VERBOSE; ""); // Ignore all except user_data_registered_itu_t_t35() payload - if !broken && payload_type == 4 && payload_start + payload_size as usize <= seibuf.len() { - let payload_data = &seibuf[payload_start..payload_start + payload_size as usize]; + if !broken && payload_type == 4 && payload_start + payload_size <= seibuf.len() { + let payload_data = &seibuf[payload_start..payload_start + payload_size]; user_data_registered_itu_t_t35(ctx, payload_data); } From fe6dad83b70ffbae769d5c5fa7b961085d91c252 Mon Sep 17 00:00:00 2001 From: Amrit kumar Mahto Date: Mon, 19 Jan 2026 14:16:50 +0530 Subject: [PATCH 2/3] use u32 for SEI payload type and size --- src/rust/src/avc/sei.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/rust/src/avc/sei.rs b/src/rust/src/avc/sei.rs index 6d32ad29e..3bf2e08b2 100644 --- a/src/rust/src/avc/sei.rs +++ b/src/rust/src/avc/sei.rs @@ -50,7 +50,7 @@ pub fn sei_message(ctx: &mut AvcContextRust, seibuf: &[u8]) -> usize { return 0; } - let mut payload_type: usize = 0; + let mut payload_type: u32 = 0; while seibuf_idx < seibuf.len() && seibuf[seibuf_idx] == 0xff { payload_type += 255; seibuf_idx += 1; @@ -60,10 +60,10 @@ pub fn sei_message(ctx: &mut AvcContextRust, seibuf: &[u8]) -> usize { return seibuf_idx; } - payload_type += seibuf[seibuf_idx] as usize; + payload_type += seibuf[seibuf_idx] as u32; seibuf_idx += 1; - let mut payload_size: usize = 0; + let mut payload_size: u32 = 0; while seibuf_idx < seibuf.len() && seibuf[seibuf_idx] == 0xff { payload_size += 255; seibuf_idx += 1; @@ -73,12 +73,12 @@ pub fn sei_message(ctx: &mut AvcContextRust, seibuf: &[u8]) -> usize { return seibuf_idx; } - payload_size += seibuf[seibuf_idx] as usize; + payload_size += seibuf[seibuf_idx] as u32; seibuf_idx += 1; let mut broken = false; let payload_start = seibuf_idx; - seibuf_idx += payload_size; + seibuf_idx += payload_size as usize; debug!(msg_type = DebugMessageFlag::VIDEO_STREAM; "Payload type: {} size: {} - ", payload_type, payload_size); @@ -94,8 +94,8 @@ pub fn sei_message(ctx: &mut AvcContextRust, seibuf: &[u8]) -> usize { debug!(msg_type = DebugMessageFlag::VERBOSE; ""); // Ignore all except user_data_registered_itu_t_t35() payload - if !broken && payload_type == 4 && payload_start + payload_size <= seibuf.len() { - let payload_data = &seibuf[payload_start..payload_start + payload_size]; + if !broken && payload_type == 4 && payload_start + payload_size as usize <= seibuf.len() { + let payload_data = &seibuf[payload_start..payload_start + payload_size as usize]; user_data_registered_itu_t_t35(ctx, payload_data); } From 2dfb44d7d4857b901405988eb78ec11a04af3dd4 Mon Sep 17 00:00:00 2001 From: Amrit kumar Mahto Date: Tue, 27 Jan 2026 20:42:53 +0530 Subject: [PATCH 3/3] re running CI