switch to refcounted buffers
[nihav.git] / nihav-realmedia / src / codecs / ra144.rs
index 45e98ebc92464b51767338f91f20bd9c88f6a99b..19cf38b841c713b8b84ea54bfec055c36ac69e11 100644 (file)
@@ -264,9 +264,9 @@ impl NADecoder for RA144Decoder {
 
         let duration = NBLOCKS * BLOCKSIZE * nframes;
 
-        let mut abuf = alloc_audio_buffer(self.ainfo, duration, self.chmap.clone())?;
+        let abuf = alloc_audio_buffer(self.ainfo, duration, self.chmap.clone())?;
         let mut adata = abuf.get_abuf_i16().unwrap();
-        let mut dst = adata.get_data_mut();
+        let dst = adata.get_data_mut().unwrap();
 
         for (input, output) in pktbuf.chunks(FRAME_SIZE).zip(dst.chunks_mut(NBLOCKS * BLOCKSIZE)) {
             let mut br = BitReader::new(input, input.len(), BitReaderMode::BE);
@@ -317,11 +317,20 @@ pub fn get_decoder() -> Box<NADecoder> {
 
 #[cfg(test)]
 mod test {
-    use crate::test::dec_video::*;
+    use nihav_core::codecs::RegisteredDecoders;
+    use nihav_core::demuxers::RegisteredDemuxers;
+    use nihav_core::test::dec_video::*;
+    use crate::codecs::realmedia_register_all_codecs;
+    use crate::demuxers::realmedia_register_all_demuxers;
     #[test]
     fn test_ra144() {
+        let mut dmx_reg = RegisteredDemuxers::new();
+        realmedia_register_all_demuxers(&mut dmx_reg);
+        let mut dec_reg = RegisteredDecoders::new();
+        realmedia_register_all_codecs(&mut dec_reg);
+
         let file = "assets/RV/ra3_in_rm_file.rm";
-        test_decode_audio("realmedia", file, Some(5000), "ra14.4");
+        test_decode_audio("realmedia", file, Some(5000), "ra14.4", &dmx_reg, &dec_reg);
     }
 }