From 9b5e33ab7d4ddc5767d582efb0fa8cd8785cfe92 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Wed, 7 Aug 2024 21:05:17 +0200 Subject: [PATCH] video: Log the hash mismatch when openh264 is wrong MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: TÖRÖK Attila --- video/external/src/backend.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/video/external/src/backend.rs b/video/external/src/backend.rs index 6e7aef97b..f8f5a0670 100644 --- a/video/external/src/backend.rs +++ b/video/external/src/backend.rs @@ -104,10 +104,15 @@ impl ExternalVideoBackend { // Regardless of whether the library was already there, or we just downloaded it, let's check the MD5 hash. let mut md5 = Md5::new(); copy(&mut File::open(filepath.clone())?, &mut md5)?; - let result: [u8; 16] = md5.finalize().into(); + let md5digest = md5.finalize(); + let result: [u8; 16] = md5digest.into(); if result[..] != hex::decode(md5sum)?[..] { - return Err(format!("MD5 checksum mismatch for {}", filename).into()); + let size = filepath.metadata().map(|f| f.len()).unwrap_or_default(); + return Err(format!( + "MD5 checksum mismatch for {filename}; expected {md5sum}, found {md5digest:x} (with a size of {size} bytes)", + ) + .into()); } Ok(filepath)