diff --git a/src/api.rs b/src/api.rs index 6579eb5c46107c29407cba4a96099e00d27cd49e..d8e2a7165e3d77617fe785fb4940417d572d7aa7 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 d43038ab5c072a7d5b5f2b1ec377cc9348d18353..fa3739bd934f4ef1cbbc07ad71b3a96c54780fa6 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 {