switch NACodecInfo to Arc
[nihav.git] / nihav-duck / src / codecs / truemotion1.rs
index c43f7d874e47f7938ec42d3039ae2adb1f085c55..2c8e5d273933c901763836beb5d8dcd894f2afda 100644 (file)
@@ -168,7 +168,7 @@ impl Default for FrameBuf {
 
 #[derive(Default)]
 struct TM1Decoder {
-    info:           Rc<NACodecInfo>,
+    info:           NACodecInfoRef,
     last_delta_set: usize,
     last_table_idx: usize,
     delta_tables:   DeltaTables,
@@ -515,10 +515,10 @@ impl TM1Decoder {
 }
 
 impl NADecoder for TM1Decoder {
-    fn init(&mut self, info: Rc<NACodecInfo>) -> DecoderResult<()> {
+    fn init(&mut self, info: NACodecInfoRef) -> DecoderResult<()> {
         if let NACodecTypeInfo::Video(vinfo) = info.get_properties() {
             let myinfo = NACodecTypeInfo::Video(NAVideoInfo::new(vinfo.get_width(), vinfo.get_height(), false, YUV410_FORMAT));
-            self.info = Rc::new(NACodecInfo::new_ref(info.get_name(), myinfo, info.get_extradata()));
+            self.info = NACodecInfo::new_ref(info.get_name(), myinfo, info.get_extradata()).into_ref();
             Ok(())
         } else {
             Err(DecoderError::InvalidData)
@@ -607,7 +607,7 @@ impl NADecoder for TM1Decoder {
             let myinfo = NAVideoInfo::new(out_width, height, false, fmt);
             let bufret = alloc_video_buffer(myinfo, 2);
             if let Err(_) = bufret { return Err(DecoderError::InvalidData); }
-            let mut bufinfo = bufret.unwrap();
+            let bufinfo = bufret.unwrap();
             self.lastframe.reset();
             if !is_24bit {
                 self.lastframe.set16(bufinfo.get_vbuf16().unwrap());
@@ -625,7 +625,7 @@ impl NADecoder for TM1Decoder {
             if let Some(mut buf) = self.lastframe.get16() {
                 let stride = buf.get_stride(0);
                 {
-                    let mut data = buf.get_data_mut();
+                    let data = buf.get_data_mut().unwrap();
                     if !is_sprite {
                         self.decode_16bit(data.as_mut_slice(), stride, out_width, height, &mut mask, &mut index)?;
                     } else {
@@ -644,7 +644,7 @@ impl NADecoder for TM1Decoder {
             if let Some(mut buf) = self.lastframe.get24() {
                 let stride = buf.get_stride(0);
                 {
-                    let mut data = buf.get_data_mut();
+                    let data = buf.get_data_mut().unwrap();
                     self.decode_24bit(data.as_mut_slice(), stride, out_width, height, &mut mask, &mut index)?;
                 }
                 bufinfo = NABufferType::VideoPacked(buf);