X-Git-Url: https://git.nihav.org/?p=nihav-tool.git;a=blobdiff_plain;f=src%2Fmain.rs;h=0892c43d0ba5a305c8877c2f0dfe51c8f8411c8e;hp=59c18788c78ff3a8b7485fd71478eae3c4584e75;hb=b4a0ee1dd70e9b69fddef9cdb22083f96a29914a;hpb=17d1bf82a978619921c691a1ee951ba262c27730 diff --git a/src/main.rs b/src/main.rs index 59c1878..0892c43 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ extern crate nihav_core; +extern crate nihav_codec_support; extern crate nihav_registry; extern crate nihav_allstuff; @@ -9,13 +10,11 @@ use nihav_core::io::byteio::{FileReader, ByteReader}; use nihav_core::frame::*; use nihav_core::codecs::*; use nihav_core::demuxers::*; +use nihav_codec_support::imgwrite::*; use nihav_registry::detect; use nihav_allstuff::*; use std::env; -mod frmwriter; -use crate::frmwriter::*; - mod wavwriter; use crate::wavwriter::WavWriter; @@ -41,15 +40,8 @@ impl FrameOutput { NumberMode::PktPTS => { pkt.get_pts().unwrap() }, NumberMode::FrmPTS => { if let Some(pt) = frm.get_pts() { pt } else { pkt.get_pts().unwrap() } }, }; - let vinfo = frm.get_buffer().get_video_info().unwrap(); - if vinfo.get_format().is_paletted() { - write_palppm(&self.prefix, self.streamno, pts, frm); - } 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"); + if let Err(_) = write_pnm(&self.prefix, self.streamno, pts, frm) { + println!("error writing output picture"); } } self.frameno += 1;