add flush() to decoder interface
[nihav.git] / nihav-rad / src / codecs / smacker.rs
index f3628bedc6f6e92a1e1a0041dd63056639b596eb..cb7d0ba921bc7f2a1aafcb6dfa2dca8638ecdbac 100644 (file)
@@ -444,9 +444,7 @@ impl NADecoder for SmackerVideoDecoder {
         if src.len() > PAL_SIZE {
             let mut br = BitReader::new(&src[PAL_SIZE..], src.len() - PAL_SIZE, BitReaderMode::LE);
 
-            let bufret = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 2);
-            if let Err(_) = bufret { return Err(DecoderError::InvalidData); }
-            bufinfo = bufret.unwrap();
+            bufinfo = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 2)?;
             let mut buf = bufinfo.get_vbuf().unwrap();
             is_intra = self.decode_frame(&mut br)?;
             self.output_frame(&mut buf);
@@ -467,9 +465,11 @@ impl NADecoder for SmackerVideoDecoder {
         frm.set_frame_type(ftype);
         Ok(frm.into_ref())
     }
+    fn flush(&mut self) {
+    }
 }
 
-pub fn get_decoder_video() -> Box<NADecoder> {
+pub fn get_decoder_video() -> Box<dyn NADecoder> {
     Box::new(SmackerVideoDecoder::new())
 }
 
@@ -591,9 +591,11 @@ impl NADecoder for SmackerAudioDecoder {
             Err(DecoderError::InvalidData)
         }
     }
+    fn flush(&mut self) {
+    }
 }
 
-pub fn get_decoder_audio() -> Box<NADecoder> {
+pub fn get_decoder_audio() -> Box<dyn NADecoder> {
     Box::new(SmackerAudioDecoder::new())
 }