#[allow(dead_code)]
#[derive(Clone,Copy,PartialEq)]
pub struct NAAudioInfo {
- sample_rate: u32,
- channels: u8,
- format: NASoniton,
- block_len: usize,
+ pub sample_rate: u32,
+ pub channels: u8,
+ pub format: NASoniton,
+ pub block_len: usize,
}
impl NAAudioInfo {
pub fn get_info(&self) -> NAVideoInfo { self.info }
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 get_num_components(&self) -> usize { self.offs.len() }
pub fn copy_buffer(&mut self) -> Self {
let mut data: Vec<T> = Vec::with_capacity(self.data.len());
data.clone_from(self.data.as_ref());
}
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 {
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 }
}
_ => None,
}
}
+ pub fn get_audio_info(&self) -> Option<NAAudioInfo> {
+ match *self {
+ NABufferType::AudioU8(ref ab) => Some(ab.get_info()),
+ NABufferType::AudioI16(ref ab) => Some(ab.get_info()),
+ NABufferType::AudioI32(ref ab) => Some(ab.get_info()),
+ NABufferType::AudioF32(ref ab) => Some(ab.get_info()),
+ NABufferType::AudioPacked(ref ab) => Some(ab.get_info()),
+ _ => None,
+ }
+ }
+ pub fn get_chmap(&self) -> Option<&NAChannelMap> {
+ match *self {
+ NABufferType::AudioU8(ref ab) => Some(ab.get_chmap()),
+ NABufferType::AudioI16(ref ab) => Some(ab.get_chmap()),
+ NABufferType::AudioI32(ref ab) => Some(ab.get_chmap()),
+ NABufferType::AudioF32(ref ab) => Some(ab.get_chmap()),
+ NABufferType::AudioPacked(ref ab) => Some(ab.get_chmap()),
+ _ => None,
+ }
+ }
+ pub fn get_audio_length(&self) -> usize {
+ match *self {
+ NABufferType::AudioU8(ref ab) => ab.get_length(),
+ NABufferType::AudioI16(ref ab) => ab.get_length(),
+ NABufferType::AudioI32(ref ab) => ab.get_length(),
+ NABufferType::AudioF32(ref ab) => ab.get_length(),
+ NABufferType::AudioPacked(ref ab) => ab.get_length(),
+ _ => 0,
+ }
+ }
+ pub fn get_audio_stride(&self) -> usize {
+ match *self {
+ NABufferType::AudioU8(ref ab) => ab.get_stride(),
+ NABufferType::AudioI16(ref ab) => ab.get_stride(),
+ NABufferType::AudioI32(ref ab) => ab.get_stride(),
+ NABufferType::AudioF32(ref ab) => ab.get_stride(),
+ NABufferType::AudioPacked(ref ab) => ab.get_stride(),
+ _ => 0,
+ }
+ }
pub fn get_abuf_u8(&self) -> Option<NAAudioBuffer<u8>> {
match *self {
NABufferType::AudioU8(ref ab) => Some(ab.clone()),