From f9be4e750dccff762b9a3d894faec50ffdb59233 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Sat, 9 Nov 2019 18:57:34 +0100 Subject: add flush() to decoder interface --- nihav-rad/src/codecs/bink2.rs | 3 +++ nihav-rad/src/codecs/binkaud.rs | 3 +++ nihav-rad/src/codecs/binkvid.rs | 3 +++ nihav-rad/src/codecs/smacker.rs | 4 ++++ 4 files changed, 13 insertions(+) (limited to 'nihav-rad/src') diff --git a/nihav-rad/src/codecs/bink2.rs b/nihav-rad/src/codecs/bink2.rs index 8c09478..e56bff7 100644 --- a/nihav-rad/src/codecs/bink2.rs +++ b/nihav-rad/src/codecs/bink2.rs @@ -1937,6 +1937,9 @@ impl NADecoder for Bink2Decoder { frm.set_frame_type(if self.key_frame { FrameType::I } else { FrameType::P }); Ok(frm.into_ref()) } + fn flush(&mut self) { + self.ips.clear(); + } } pub fn get_decoder() -> Box { diff --git a/nihav-rad/src/codecs/binkaud.rs b/nihav-rad/src/codecs/binkaud.rs index b0c4fc2..86f4fb0 100644 --- a/nihav-rad/src/codecs/binkaud.rs +++ b/nihav-rad/src/codecs/binkaud.rs @@ -273,6 +273,9 @@ impl NADecoder for BinkAudioDecoder { Err(DecoderError::InvalidData) } } + fn flush(&mut self) { + self.delay = [[0.0; 256]; 2]; + } } pub fn get_decoder_dct() -> Box { diff --git a/nihav-rad/src/codecs/binkvid.rs b/nihav-rad/src/codecs/binkvid.rs index 69e30fe..6d6c14a 100644 --- a/nihav-rad/src/codecs/binkvid.rs +++ b/nihav-rad/src/codecs/binkvid.rs @@ -1258,6 +1258,9 @@ println!("decode frame {} b={} i={}", pkt.get_pts().unwrap(), self.is_ver_b, sel frm.set_frame_type(FrameType::P); Ok(frm.into_ref()) } + fn flush(&mut self) { + self.ips.clear(); + } } pub fn get_decoder() -> Box { diff --git a/nihav-rad/src/codecs/smacker.rs b/nihav-rad/src/codecs/smacker.rs index 99d40d6..cb7d0ba 100644 --- a/nihav-rad/src/codecs/smacker.rs +++ b/nihav-rad/src/codecs/smacker.rs @@ -465,6 +465,8 @@ impl NADecoder for SmackerVideoDecoder { frm.set_frame_type(ftype); Ok(frm.into_ref()) } + fn flush(&mut self) { + } } pub fn get_decoder_video() -> Box { @@ -589,6 +591,8 @@ impl NADecoder for SmackerAudioDecoder { Err(DecoderError::InvalidData) } } + fn flush(&mut self) { + } } pub fn get_decoder_audio() -> Box { -- cgit v1.3