X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-duck%2Fsrc%2Fcodecs%2Fvp7.rs;h=a4d361c2664ea57eee9da55c4cb0d8e4579e4c5c;hb=3cc76ad5da2772a179d6933695e84ec9212f84c2;hp=ccdb5dd22c519721ae5e337af7c7fe23f5977d8b;hpb=587a6d789be865f24bd31ef65aabf1b9d5809965;p=nihav.git diff --git a/nihav-duck/src/codecs/vp7.rs b/nihav-duck/src/codecs/vp7.rs index ccdb5dd..a4d361c 100644 --- a/nihav-duck/src/codecs/vp7.rs +++ b/nihav-duck/src/codecs/vp7.rs @@ -1141,6 +1141,10 @@ impl NADecoder for VP7Decoder { self.set_dimensions(width, height); self.dstate.reset(); + } else { + if !self.shuf.has_refs() { + return Err(DecoderError::MissingReference); + } } self.read_features(&mut bc)?; @@ -1392,9 +1396,12 @@ 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 { +pub fn get_decoder() -> Box { Box::new(VP7Decoder::new()) }