From c66afc1e6ff09cc04af8d59a8e35645bf42becdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20F=C3=B6rberg?= Date: Sat, 19 Jul 2025 09:41:29 +0200 Subject: [PATCH] examples/dump-frames: Fix rowstride bug --- examples/dump-frames.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/dump-frames.rs b/examples/dump-frames.rs index d3124ef5..8ae0e950 100644 --- a/examples/dump-frames.rs +++ b/examples/dump-frames.rs @@ -61,6 +61,10 @@ fn main() -> Result<(), ffmpeg::Error> { fn save_file(frame: &Video, index: usize) -> std::result::Result<(), std::io::Error> { let mut file = File::create(format!("frame{}.ppm", index))?; file.write_all(format!("P6\n{} {}\n255\n", frame.width(), frame.height()).as_bytes())?; - file.write_all(frame.data(0))?; + for i in 0..frame.height() as usize { + let start = i * frame.stride(0); + let len = 3 * frame.width() as usize; + file.write_all(&frame.data(0)[start..start + len])?; + } Ok(()) }