core/frame: return a reference to channel map instead of clone for audio buffer
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 16 Nov 2019 17:33:33 +0000 (18:33 +0100)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 16 Nov 2019 17:33:33 +0000 (18:33 +0100)
nihav-core/src/frame.rs

index d51d226816394c8488d42f88e5d84b29f6998fa3..c6e392011cbd067abc3c77655228ab6ca39e6bb5 100644 (file)
@@ -158,7 +158,7 @@ impl<T: Clone> NAAudioBuffer<T> {
     }
     pub fn get_stride(&self) -> usize { self.stride }
     pub fn get_info(&self) -> NAAudioInfo { self.info }
-    pub fn get_chmap(&self) -> NAChannelMap { self.chmap.clone() }
+    pub fn get_chmap(&self) -> &NAChannelMap { &self.chmap }
     pub fn get_data(&self) -> &Vec<T> { self.data.as_ref() }
     pub fn get_data_mut(&mut self) -> Option<&mut Vec<T>> { self.data.as_mut() }
     pub fn copy_buffer(&mut self) -> Self {
@@ -166,7 +166,7 @@ impl<T: Clone> NAAudioBuffer<T> {
         data.clone_from(self.data.as_ref());
         let mut offs: Vec<usize> = Vec::with_capacity(self.offs.len());
         offs.clone_from(&self.offs);
-        NAAudioBuffer { info: self.info, data: NABufferRef::new(data), offs, chmap: self.get_chmap(), len: self.len, stride: self.stride }
+        NAAudioBuffer { info: self.info, data: NABufferRef::new(data), offs, chmap: self.get_chmap().clone(), len: self.len, stride: self.stride }
     }
     pub fn get_length(&self) -> usize { self.len }
 }