X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-game%2Fsrc%2Fcodecs%2Fgremlinvideo.rs;h=c7bdaf9ff6a44cf4940e0eda74d90f8c579b7500;hp=cf7f7b13c1ff23425d8fb47063e5e7c5c519d7af;hb=171860fcc4a4ba3ec28bc4b720b9f582377be4cf;hpb=70910ac3fdc02c7b7727a4a294f55134e9f5141d diff --git a/nihav-game/src/codecs/gremlinvideo.rs b/nihav-game/src/codecs/gremlinvideo.rs index cf7f7b1..c7bdaf9 100644 --- a/nihav-game/src/codecs/gremlinvideo.rs +++ b/nihav-game/src/codecs/gremlinvideo.rs @@ -429,12 +429,12 @@ impl NADecoder for GremlinVideoDecoder { let mut frm = NAFrame::new_from_pkt(pkt, self.info.clone(), NABufferType::None); frm.set_keyframe(false); frm.set_frame_type(FrameType::Skip); - return Ok(Rc::new(RefCell::new(frm))) + return Ok(frm.into_ref()) } else if cmethod == 3 { let mut frm = NAFrame::new_from_pkt(pkt, self.info.clone(), NABufferType::None); frm.set_keyframe(false); frm.set_frame_type(FrameType::Skip); - return Ok(Rc::new(RefCell::new(frm))) + return Ok(frm.into_ref()) } else if cmethod == 2 { self.decode_method2(&mut br)?; } else if cmethod == 5 { @@ -456,7 +456,7 @@ impl NADecoder for GremlinVideoDecoder { let mut frm = NAFrame::new_from_pkt(pkt, self.info.clone(), bufinfo); frm.set_keyframe(is_intra); frm.set_frame_type(if is_intra { FrameType::I } else { FrameType::P }); - Ok(Rc::new(RefCell::new(frm))) + Ok(frm.into_ref()) } } @@ -545,7 +545,7 @@ impl NADecoder for GremlinAudioDecoder { let mut frm = NAFrame::new_from_pkt(pkt, info, abuf); frm.set_duration(Some(samples as u64)); frm.set_keyframe(false); - Ok(Rc::new(RefCell::new(frm))) + Ok(frm.into_ref()) } else { Err(DecoderError::InvalidData) }