diff options
Diffstat (limited to 'nihav-duck/src')
| -rw-r--r-- | nihav-duck/src/codecs/dkadpcm.rs | 2 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/on2avc.rs | 2 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/truemotion1.rs | 3 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/truemotion2.rs | 2 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/truemotion2x.rs | 2 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/truemotionrt.rs | 2 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/vp3.rs | 3 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/vp5.rs | 3 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/vp56.rs | 3 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/vp6.rs | 3 | ||||
| -rw-r--r-- | nihav-duck/src/codecs/vp7.rs | 3 |
11 files changed, 28 insertions, 0 deletions
diff --git a/nihav-duck/src/codecs/dkadpcm.rs b/nihav-duck/src/codecs/dkadpcm.rs index d339556..24f5b5b 100644 --- a/nihav-duck/src/codecs/dkadpcm.rs +++ b/nihav-duck/src/codecs/dkadpcm.rs @@ -163,6 +163,8 @@ impl NADecoder for DuckADPCMDecoder { Err(DecoderError::InvalidData) } } + fn flush(&mut self) { + } } pub fn get_decoder_dk3() -> Box<dyn NADecoder> { diff --git a/nihav-duck/src/codecs/on2avc.rs b/nihav-duck/src/codecs/on2avc.rs index 46880fa..8273437 100644 --- a/nihav-duck/src/codecs/on2avc.rs +++ b/nihav-duck/src/codecs/on2avc.rs @@ -1044,6 +1044,8 @@ impl NADecoder for AVCDecoder { frm.set_keyframe(true); Ok(frm.into_ref()) } + fn flush(&mut self) { + } } pub fn get_decoder_500() -> Box<dyn NADecoder> { diff --git a/nihav-duck/src/codecs/truemotion1.rs b/nihav-duck/src/codecs/truemotion1.rs index 44ff668..c313b13 100644 --- a/nihav-duck/src/codecs/truemotion1.rs +++ b/nihav-duck/src/codecs/truemotion1.rs @@ -654,6 +654,9 @@ impl NADecoder for TM1Decoder { frm.set_frame_type(if is_intra { FrameType::I } else { FrameType::P }); Ok(frm.into_ref()) } + fn flush(&mut self) { + self.lastframe.reset(); + } } pub fn get_decoder() -> Box<dyn NADecoder> { diff --git a/nihav-duck/src/codecs/truemotion2.rs b/nihav-duck/src/codecs/truemotion2.rs index ecfce30..c222c44 100644 --- a/nihav-duck/src/codecs/truemotion2.rs +++ b/nihav-duck/src/codecs/truemotion2.rs @@ -577,6 +577,8 @@ impl NADecoder for TM2Decoder { frm.set_frame_type(if is_intra { FrameType::I } else { FrameType::P }); Ok(frm.into_ref()) } + fn flush(&mut self) { + } } pub fn get_decoder() -> Box<dyn NADecoder> { diff --git a/nihav-duck/src/codecs/truemotion2x.rs b/nihav-duck/src/codecs/truemotion2x.rs index 16d1125..584ee43 100644 --- a/nihav-duck/src/codecs/truemotion2x.rs +++ b/nihav-duck/src/codecs/truemotion2x.rs @@ -688,6 +688,8 @@ impl NADecoder for TM2XDecoder { frm.set_frame_type(if self.is_intra { FrameType::I } else { FrameType::P }); Ok(frm.into_ref()) } + fn flush(&mut self) { + } } pub fn get_decoder() -> Box<dyn NADecoder> { diff --git a/nihav-duck/src/codecs/truemotionrt.rs b/nihav-duck/src/codecs/truemotionrt.rs index ba2ff17..97ad981 100644 --- a/nihav-duck/src/codecs/truemotionrt.rs +++ b/nihav-duck/src/codecs/truemotionrt.rs @@ -80,6 +80,8 @@ impl NADecoder for TMRTDecoder { frm.set_frame_type(FrameType::I); Ok(frm.into_ref()) } + fn flush(&mut self) { + } } pub fn get_decoder() -> Box<dyn NADecoder> { diff --git a/nihav-duck/src/codecs/vp3.rs b/nihav-duck/src/codecs/vp3.rs index d25d27f..dd71c8b 100644 --- a/nihav-duck/src/codecs/vp3.rs +++ b/nihav-duck/src/codecs/vp3.rs @@ -1839,6 +1839,9 @@ impl NADecoder for VP34Decoder { frm.set_frame_type(if self.is_intra { FrameType::I } else { FrameType::P }); Ok(frm.into_ref()) } + fn flush(&mut self) { + self.shuf.clear(); + } } pub fn get_decoder_vp3() -> Box<NADecoder> { diff --git a/nihav-duck/src/codecs/vp5.rs b/nihav-duck/src/codecs/vp5.rs index abfd4d0..d13ffab 100644 --- a/nihav-duck/src/codecs/vp5.rs +++ b/nihav-duck/src/codecs/vp5.rs @@ -267,6 +267,9 @@ impl NADecoder for VP5Decoder { frm.set_frame_type(ftype); Ok(frm.into_ref()) } + fn flush(&mut self) { + self.dec.flush(); + } } pub fn get_decoder() -> Box<NADecoder> { diff --git a/nihav-duck/src/codecs/vp56.rs b/nihav-duck/src/codecs/vp56.rs index d0a991f..28b1f06 100644 --- a/nihav-duck/src/codecs/vp56.rs +++ b/nihav-duck/src/codecs/vp56.rs @@ -428,6 +428,9 @@ impl VP56Decoder { self.set_dimensions(vinfo.get_width(), vinfo.get_height()); Ok(()) } + pub fn flush(&mut self) { + self.shuf.clear(); + } pub fn decode_frame(&mut self, supp: &mut NADecoderSupport, src: &[u8], br: &mut dyn VP56Parser) -> DecoderResult<(NABufferType, FrameType)> { let aoffset; let mut bc; diff --git a/nihav-duck/src/codecs/vp6.rs b/nihav-duck/src/codecs/vp6.rs index 1cf6a78..803ce5e 100644 --- a/nihav-duck/src/codecs/vp6.rs +++ b/nihav-duck/src/codecs/vp6.rs @@ -701,6 +701,9 @@ impl NADecoder for VP6Decoder { frm.set_frame_type(ftype); Ok(frm.into_ref()) } + fn flush(&mut self) { + self.dec.flush(); + } } pub fn get_decoder_vp6() -> Box<NADecoder> { diff --git a/nihav-duck/src/codecs/vp7.rs b/nihav-duck/src/codecs/vp7.rs index ccdb5dd..b96da83 100644 --- a/nihav-duck/src/codecs/vp7.rs +++ b/nihav-duck/src/codecs/vp7.rs @@ -1392,6 +1392,9 @@ impl NADecoder for VP7Decoder { frm.set_frame_type(if self.dstate.is_intra { FrameType::I } else { FrameType::P }); Ok(frm.into_ref()) } + fn flush(&mut self) { + self.shuf.clear(); + } } pub fn get_decoder() -> Box<NADecoder> { |
