add flush() to decoder interface
[nihav.git] / nihav-game / src / codecs / bmv.rs
index c00760e7eaf05c79b05f1b87e9433d781ce5b872..902ae513bee4fc5d312bcf840bd0151cb460f29d 100644 (file)
@@ -206,9 +206,7 @@ impl NADecoder for BMVVideoDecoder {
         }
         let pos = br.tell() as usize;
 
-        let bufret = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 0);
-        if let Err(_) = bufret { return Err(DecoderError::InvalidData); }
-        let mut bufinfo = bufret.unwrap();
+        let mut bufinfo = alloc_video_buffer(self.info.get_properties().get_video_info().unwrap(), 0)?;
 
         self.decode_frame(&src[pos..], &mut bufinfo, line)?;
 
@@ -218,6 +216,8 @@ impl NADecoder for BMVVideoDecoder {
         frm.set_frame_type(if is_intra { FrameType::I } else { FrameType::P });
         Ok(frm.into_ref())
     }
+    fn flush(&mut self) {
+    }
 }
 
 
@@ -242,7 +242,7 @@ impl BMVAudioDecoder {
 }
 
 fn scale_sample(samp: u8, scale: i32) -> i16 {
-    let val = (((samp as i8) as i32) * scale) >> 5;
+    let val = (i32::from(samp as i8) * scale) >> 5;
     if val < -32768 {
         -32768
     } else if val > 32767 {
@@ -295,6 +295,8 @@ impl NADecoder for BMVAudioDecoder {
             Err(DecoderError::InvalidData)
         }
     }
+    fn flush(&mut self) {
+    }
 }
 
 pub fn get_decoder_audio() -> Box<dyn NADecoder> {