switch to refcounted buffers
[nihav.git] / nihav-game / src / codecs / gremlinvideo.rs
index b6929d11a9e7d65714941040dc9d9de75b226007..9dd67cae85de21694bb497dbf784de52765cbdd0 100644 (file)
@@ -141,7 +141,7 @@ impl GremlinVideoDecoder {
         let mut buf = bufo.unwrap();
         let paloff = buf.get_offset(1);
         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 mut sidx = PREAMBLE_SIZE;
         let mut didx = 0;
@@ -528,10 +528,10 @@ impl NADecoder for GremlinAudioDecoder {
         if let NACodecTypeInfo::Audio(_) = info.get_properties() {
             let pktbuf = pkt.get_buffer();
             let samples = pktbuf.len() / self.chmap.num_channels();
-            let mut abuf = alloc_audio_buffer(self.ainfo, samples, self.chmap.clone())?;
+            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 buf = adata.get_data_mut();
+            let buf = adata.get_data_mut().unwrap();
             if self.chmap.num_channels() == 2 {
                 for (i, e) in pktbuf.chunks(2).enumerate() {
                     self.state0 = self.state0.wrapping_add(self.delta_tab[e[0] as usize]);
@@ -561,9 +561,18 @@ pub fn get_decoder_audio() -> Box<NADecoder> {
 
 #[cfg(test)]
 mod test {
-    use crate::test::dec_video::test_file_decoding;
+    use nihav_core::codecs::RegisteredDecoders;
+    use nihav_core::demuxers::RegisteredDemuxers;
+    use nihav_core::test::dec_video::test_file_decoding;
+    use crate::codecs::game_register_all_codecs;
+    use crate::demuxers::game_register_all_demuxers;
     #[test]
     fn test_gdv() {
-         test_file_decoding("gdv", "assets/intro1.gdv", Some(10), true, false, None);
+        let mut dmx_reg = RegisteredDemuxers::new();
+        game_register_all_demuxers(&mut dmx_reg);
+        let mut dec_reg = RegisteredDecoders::new();
+        game_register_all_codecs(&mut dec_reg);
+
+        test_file_decoding("gdv", "assets/Game/intro1.gdv", Some(10), true, false, None, &dmx_reg, &dec_reg);
     }
 }