From: Kostya Shishkov Date: Mon, 29 Apr 2019 11:37:36 +0000 (+0200) Subject: use new NAFrameRef X-Git-Url: https://git.nihav.org/?p=nihav-tool.git;a=commitdiff_plain;h=125ba9b318a96ff30375425e937588b0bd247f35 use new NAFrameRef --- diff --git a/src/frmwriter.rs b/src/frmwriter.rs index c743fc0..a9c0612 100644 --- a/src/frmwriter.rs +++ b/src/frmwriter.rs @@ -3,9 +3,8 @@ extern crate nihav_core; use nihav_core::frame::*; use std::io::prelude::*; use std::fs::File; -use std::cell::Ref; -pub fn write_pgmyuv(pfx: &str, strno: usize, num: u64, frm: Ref) { +pub fn write_pgmyuv(pfx: &str, strno: usize, num: u64, frm: NAFrameRef) { if let NABufferType::None = frm.get_buffer() { return; } let name = format!("{}out{:02}_{:08}.pgm", pfx, strno, num); let mut ofile = File::create(name).unwrap(); @@ -64,7 +63,7 @@ pub fn write_pgmyuv(pfx: &str, strno: usize, num: u64, frm: Ref) { } } -pub fn write_palppm(pfx: &str, strno: usize, num: u64, frm: Ref) { +pub fn write_palppm(pfx: &str, strno: usize, num: u64, frm: NAFrameRef) { let name = format!("{}out{:02}_{:08}.ppm", pfx, strno, num); let mut ofile = File::create(name).unwrap(); let buf = frm.get_buffer().get_vbuf().unwrap(); @@ -95,7 +94,7 @@ pub fn write_palppm(pfx: &str, strno: usize, num: u64, frm: Ref) { } } -pub fn write_ppm(pfx: &str, strno: usize, num: u64, frm: Ref) { +pub fn write_ppm(pfx: &str, strno: usize, num: u64, frm: NAFrameRef) { let name = format!("{}out{:02}_{:08}.ppm", pfx, strno, num); let mut ofile = File::create(name).unwrap(); if let NABufferType::VideoPacked(ref buf) = frm.get_buffer() { diff --git a/src/main.rs b/src/main.rs index d30dd87..e191e7a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -33,8 +33,7 @@ struct FrameOutput { } impl FrameOutput { - fn output_frame(&mut self, pkt: &NAPacket, frmref: NAFrameRef) { - let frm = frmref.borrow(); + fn output_frame(&mut self, pkt: &NAPacket, frm: NAFrameRef) { if frm.get_frame_type() != FrameType::Skip { let pts = match self.nmode { NumberMode::Counter => { self.frameno }, @@ -65,10 +64,10 @@ impl AudioOutput { fn new(name: &String) -> Self { Self { wwr: WavWriter::new(name), wrote_header: false } } fn output_frame(&mut self, _pkt: &NAPacket, frm: NAFrameRef) { if !self.wrote_header { - self.wwr.write_header(frm.borrow().get_info().as_ref().get_properties().get_audio_info().unwrap()).unwrap(); + self.wwr.write_header(frm.get_info().as_ref().get_properties().get_audio_info().unwrap()).unwrap(); self.wrote_header = true; } - self.wwr.write_frame(frm.borrow().get_buffer()).unwrap(); + self.wwr.write_frame(frm.get_buffer()).unwrap(); } }