From fd6bfc889ecf7015543cc59cc5b163cf30411cfa Mon Sep 17 00:00:00 2001 From: Luca Barbato <lu_zero@gentoo.org> Date: Wed, 12 Sep 2018 05:07:31 +0200 Subject: [PATCH] Fix and improve the stats output Store the frame_type in the packet and implement Display for it. --- src/api.rs | 11 +++++++++-- src/bin/common.rs | 3 +-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/api.rs b/src/api.rs index 6579eb5c..d8e2a716 100644 --- a/src/api.rs +++ b/src/api.rs @@ -69,7 +69,14 @@ pub enum EncoderStatus { pub struct Packet { pub data: Vec<u8>, pub rec: Frame, - pub number: usize + pub number: usize, + pub frame_type: FrameType +} + +impl fmt::Display for Packet { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "Frame {} - {} - {} bytes", self.number, self.frame_type, self.data.len()) + } } impl Context { @@ -139,7 +146,7 @@ impl Context { update_rec_buffer(&mut self.fi, fs); - Ok(Packet { data, rec, number }) + Ok(Packet { data, rec, number, frame_type: self.fi.frame_type }) } else { unimplemented!("Flushing not implemented") } diff --git a/src/bin/common.rs b/src/bin/common.rs index d43038ab..fa3739bd 100644 --- a/src/bin/common.rs +++ b/src/bin/common.rs @@ -126,10 +126,9 @@ pub fn process_frame(ctx: &mut Context, _ => panic! ("unknown input bit depth!"), } - eprintln!("{}", ctx); let _ = ctx.send_frame(input); - let pkt = ctx.receive_packet().unwrap(); + eprintln!("{}", pkt); write_ivf_frame(output_file, pkt.number as u64, pkt.data.as_ref()); if let Some(mut y4m_enc) = y4m_enc { let pitch_y = if bit_depth > 8 { -- GitLab