X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-core%2Fsrc%2Fframe.rs;h=d219ee45967b180e9174b8b01d1b9c6d44d23022;hp=d97850b7c7b59cd5a8f9d28975f10f842e0cee7d;hb=171860fcc4a4ba3ec28bc4b720b9f582377be4cf;hpb=70910ac3fdc02c7b7727a4a294f55134e9f5141d diff --git a/nihav-core/src/frame.rs b/nihav-core/src/frame.rs index d97850b..d219ee4 100644 --- a/nihav-core/src/frame.rs +++ b/nihav-core/src/frame.rs @@ -1,8 +1,6 @@ use std::cmp::max; use std::collections::HashMap; use std::fmt; -pub use std::rc::Rc; -pub use std::cell::*; use std::sync::Arc; pub use crate::formats::*; pub use crate::refs::*; @@ -653,7 +651,7 @@ pub struct NAFrame { options: HashMap, } -pub type NAFrameRef = Rc>; +pub type NAFrameRef = Arc; fn get_plane_size(info: &NAVideoInfo, idx: usize) -> (usize, usize) { let chromaton = info.get_format().get_chromaton(idx); @@ -687,6 +685,8 @@ impl NAFrame { pub fn set_duration(&mut self, dur: Option) { self.ts.set_duration(dur); } pub fn get_buffer(&self) -> NABufferType { self.buffer.clone() } + + pub fn into_ref(self) -> NAFrameRef { Arc::new(self) } } impl fmt::Display for NAFrame {