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(()) }