fix: 修复关键帧提取中的整数溢出错误

- 修复 jpeg_quality_to_qscale 函数中的 u8 乘法溢出问题
- 将计算过程转换为 u32 类型以避免溢出
- 解决了导致线程 panic 和前端界面卡住的问题
This commit is contained in:
imeepos 2025-08-11 13:09:56 +08:00
parent 779bb054c2
commit 332648d29e
1 changed files with 2 additions and 2 deletions

View File

@ -527,8 +527,8 @@ impl FrameExtractorService {
fn jpeg_quality_to_qscale(quality: u8) -> u8 {
// FFmpeg qscale: 1 (最高质量) 到 31 (最低质量)
// 质量值: 1-100
let clamped_quality = quality.clamp(1, 100);
31 - ((clamped_quality - 1) * 30 / 99)
let clamped_quality = quality.clamp(1, 100) as u32;
(31 - ((clamped_quality - 1) * 30 / 99)) as u8
}
/// 计算提取时间点