diff --git a/Cargo.lock b/Cargo.lock index 9fd1b93..8853de2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1652,7 +1652,7 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "lesavka_client" -version = "0.22.37" +version = "0.22.38" dependencies = [ "anyhow", "async-stream", @@ -1686,7 +1686,7 @@ dependencies = [ [[package]] name = "lesavka_common" -version = "0.22.37" +version = "0.22.38" dependencies = [ "anyhow", "base64", @@ -1698,7 +1698,7 @@ dependencies = [ [[package]] name = "lesavka_server" -version = "0.22.37" +version = "0.22.38" dependencies = [ "anyhow", "base64", diff --git a/client/Cargo.toml b/client/Cargo.toml index e255e1e..8786476 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -4,7 +4,7 @@ path = "src/main.rs" [package] name = "lesavka_client" -version = "0.22.37" +version = "0.22.38" edition = "2024" [dependencies] diff --git a/common/Cargo.toml b/common/Cargo.toml index e213fce..40e8348 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lesavka_common" -version = "0.22.37" +version = "0.22.38" edition = "2024" build = "build.rs" diff --git a/server/Cargo.toml b/server/Cargo.toml index b94300d..bff3db3 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -10,7 +10,7 @@ bench = false [package] name = "lesavka_server" -version = "0.22.37" +version = "0.22.38" edition = "2024" autobins = false diff --git a/server/src/video_sinks/webcam_sink.rs b/server/src/video_sinks/webcam_sink.rs index de5dc1a..a720cc2 100644 --- a/server/src/video_sinks/webcam_sink.rs +++ b/server/src/video_sinks/webcam_sink.rs @@ -770,6 +770,16 @@ impl WebcamSink { ); return; } + if decoded_bytes > self.direct_mjpeg_max_bytes { + warn!( + target:"lesavka_server::video", + previous_bytes, + next_bytes = decoded_bytes, + max_bytes = self.direct_mjpeg_max_bytes, + "📸⚠️ freezing oversized decoded HEVC->MJPEG frame before UVC spool" + ); + return; + } if let Err(err) = spool_mjpeg_frame_with_timing(path, map.as_slice(), Some(timing)) { warn!(target:"lesavka_server::video", %err, "📸⚠️ failed to spool decoded HEVC frame for UVC helper"); } else {