-impl<'a> NACodecInfo<'a> {
- pub fn new(p: NACodecTypeInfo, edata: Option<&'a[u8]>) -> Self {
- NACodecInfo { properties: p, extradata: edata }
+impl NACodecInfo {
+ pub fn new(p: NACodecTypeInfo, edata: Option<Vec<u8>>) -> Self {
+ let extradata = match edata {
+ None => None,
+ Some(vec) => Some(Rc::new(vec)),
+ };
+ NACodecInfo { properties: p, extradata: extradata }
+ }
+ pub fn get_properties(&self) -> NACodecTypeInfo { self.properties }
+ pub fn get_extradata(&self) -> Option<Rc<Vec<u8>>> {
+ if let Some(ref vec) = self.extradata { return Some(vec.clone()); }
+ None