X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-duck%2Fsrc%2Fcodecs%2Fvp56.rs;h=03bd9fc9b052ec4c9730ca185a3855251d74e93c;hb=138b7d0a1f3baeac9427f194fd9a3f83abb22651;hp=d0a991f32869c6d0175c6966dc0316bace200a58;hpb=1fdbd53e295c3876df7602cc5c5397730711ed24;p=nihav.git diff --git a/nihav-duck/src/codecs/vp56.rs b/nihav-duck/src/codecs/vp56.rs index d0a991f..03bd9fc 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; @@ -467,6 +470,10 @@ impl VP56Decoder { if hdr.is_intra { self.shuf.clear(); + } else { + if !self.shuf.has_refs() { + return Err(DecoderError::MissingReference); + } } let mut cr;