switch to refcounted buffers
[nihav.git] / nihav-game / src / codecs / bmv3.rs
index e6c3334a8b9d082ed54d693816fada55ac90d0bc..099f070bc5be930c2ac598874ab9d9cc1cdd79ec 100644 (file)
@@ -124,7 +124,7 @@ impl BMV3VideoDecoder {
             let skip;
             if op < 0x90 {
                 let op2                     = br.read_u16le()?;
-                skip = ((op2 >> 12) as usize) | ((op << 4) as usize);
+                skip = ((op2 >> 12) as usize) | ((op as usize) << 4);
                 len = (op2 & 0xFFF) as usize;
             } else {
                 len = ((op & 7) + 1) as usize;
@@ -491,7 +491,7 @@ impl NADecoder for BMV3VideoDecoder {
         {
             let mut buf = bufinfo.get_vbuf16().unwrap();
             let stride = buf.get_stride(0);
-            let mut data = buf.get_data_mut();
+            let data = buf.get_data_mut().unwrap();
             let dst = data.as_mut_slice();
 
             let refbuf = &self.frame[self.stride..];
@@ -571,7 +571,7 @@ impl NADecoder for BMV3AudioDecoder {
             let abuf = alloc_audio_buffer(self.ainfo, samples, self.chmap.clone())?;
             let mut adata = abuf.get_abuf_i16().unwrap();
             let off1 = adata.get_offset(1);
-            let mut dst = adata.get_data_mut();
+            let dst = adata.get_data_mut().unwrap();
             let mut first = pktbuf[0] == 0;
             let psrc = &pktbuf[1..];
             for (n, src) in psrc.chunks_exact(41).enumerate() {