X-Git-Url: https://git.nihav.org/?p=nihav-tool.git;a=blobdiff_plain;f=src%2Fmain.rs;h=d30dd871d8aceadbe6dd08a3eb03d3756b8251d5;hp=214427ec296889d9130a8dde15e7079a684bb258;hb=ffe695773d38f16f1a6f04086f47c19c1c7b4a92;hpb=98b31ef77be7fdff7d8b209358b37626a5cb7be7 diff --git a/src/main.rs b/src/main.rs index 214427e..d30dd87 100644 --- a/src/main.rs +++ b/src/main.rs @@ -41,11 +41,15 @@ impl FrameOutput { NumberMode::PktPTS => { pkt.get_pts().unwrap() }, NumberMode::FrmPTS => { if let Some(pt) = frm.get_pts() { pt } else { pkt.get_pts().unwrap() } }, }; - let frmbuf = frm.get_buffer().get_vbuf().unwrap(); - if frmbuf.get_info().get_format().is_paletted() { + let vinfo = frm.get_buffer().get_video_info().unwrap(); + if vinfo.get_format().is_paletted() { write_palppm(self.prefix, self.streamno, pts, frm); - } else { + } else if vinfo.get_format().get_model().is_yuv() { write_pgmyuv(self.prefix, self.streamno, pts, frm); + } else if vinfo.get_format().get_model().is_rgb() { + write_ppm(self.prefix, self.streamno, pts, frm); + } else { +panic!(" unknown format"); } } self.frameno += 1;