switch NACodecInfo to Arc
[nihav.git] / nihav-commonfmt / src / codecs / ts102366.rs
index 12e0fe915d535a4436df4f4a2fa8ac5fe884ac58..f17b43106229dc75d552ac405b6248c0fc688c8d 100644 (file)
@@ -1,5 +1,3 @@
-use std::rc::Rc;
-use std::cell::RefCell;
 use nihav_core::formats::*;
 use nihav_core::frame::*;
 use nihav_core::codecs::*;
@@ -116,7 +114,7 @@ fn do_imdct_core(fft: &mut FFT, xsc: &[FFTComplex; BLOCK_LEN/2], size: usize, il
 }
 
 struct AudioDecoder {
-    info:       Rc<NACodecInfo>,
+    info:       NACodecInfoRef,
     ablk:       AudioBlock,
     imdct512:   IMDCTContext,
     imdct256:   IMDCTContext,
@@ -1159,7 +1157,7 @@ impl AudioBlock {
 }
 
 impl NADecoder for AudioDecoder {
-    fn init(&mut self, info: Rc<NACodecInfo>) -> DecoderResult<()> {
+    fn init(&mut self, info: NACodecInfoRef) -> DecoderResult<()> {
         if let NACodecTypeInfo::Audio(_) = info.get_properties() {
             self.info = info.clone();
             Ok(())
@@ -1199,9 +1197,9 @@ impl NADecoder for AudioDecoder {
         let ainfo = NAAudioInfo::new(sinfo.samplerate >> bsi.shift, channels as u8,
                                      SND_F32P_FORMAT, BLOCK_LEN);
 
-        let mut abuf = alloc_audio_buffer(ainfo, duration, bsi.acmod.get_channel_map(bsi.lfeon))?;
+        let abuf = alloc_audio_buffer(ainfo, duration, bsi.acmod.get_channel_map(bsi.lfeon))?;
         let mut adata = abuf.get_abuf_f32().unwrap();
-        let mut output = adata.get_data_mut();
+        let output = adata.get_data_mut().unwrap();
 
         self.ablk = AudioBlock::new();
         for blk in 0..NBLOCKS {