rename to_interleaved to as_interleaved

This commit is contained in:
Hailey Somerville 2023-12-29 20:16:32 +11:00
parent 77a39271f9
commit af2a5946bd
7 changed files with 9 additions and 24 deletions

View file

@ -1,4 +1,3 @@
use bark_protocol::CHANNELS;
use bytemuck::{Pod, Zeroable};
pub type Sample = f32;
@ -11,24 +10,10 @@ pub struct Frame(pub Sample, pub Sample);
#[repr(transparent)]
pub struct FrameCount(pub usize);
pub fn from_interleaved(samples: &[Sample]) -> &[Frame] {
// ensure samples contains whole frames only
assert_eq!(0, samples.len() % usize::from(CHANNELS));
bytemuck::cast_slice(samples)
}
pub fn from_interleaved_mut(samples: &mut [Sample]) -> &mut [Frame] {
// ensure samples contains whole frames only
assert_eq!(0, samples.len() % usize::from(CHANNELS));
bytemuck::cast_slice_mut(samples)
}
pub fn to_interleaved(frames: &[Frame]) -> &[Sample] {
pub fn as_interleaved(frames: &[Frame]) -> &[Sample] {
bytemuck::must_cast_slice(frames)
}
pub fn to_interleaved_mut(frames: &mut [Frame]) -> &mut [Sample] {
pub fn as_interleaved_mut(frames: &mut [Frame]) -> &mut [Sample] {
bytemuck::must_cast_slice_mut(frames)
}

View file

@ -32,8 +32,8 @@ impl Decode for OpusDecoder {
let expected = out.len();
let frames = match bytes {
Some(bytes) => self.opus.decode_float(bytes, audio::to_interleaved_mut(out), false)?,
None => self.opus.decode_float(&[], audio::to_interleaved_mut(out), true)?,
Some(bytes) => self.opus.decode_float(bytes, audio::as_interleaved_mut(out), false)?,
None => self.opus.decode_float(&[], audio::as_interleaved_mut(out), true)?,
};
if expected != frames {

View file

@ -41,7 +41,7 @@ fn decode_packed<const N: usize>(
out: &mut FrameBuffer,
func: impl Fn([u8; N]) -> f32,
) -> Result<(), DecodeError> {
let out_samples = audio::to_interleaved_mut(out);
let out_samples = audio::as_interleaved_mut(out);
let Some(bytes) = bytes else {
// PCM codecs have no packet loss correction

View file

@ -38,6 +38,6 @@ impl Encode for OpusEncoder {
}
fn encode_packet(&mut self, samples: &[Frame], out: &mut [u8]) -> Result<usize, EncodeError> {
Ok(self.opus.encode_float(audio::to_interleaved(samples), out)?)
Ok(self.opus.encode_float(audio::as_interleaved(samples), out)?)
}
}

View file

@ -51,7 +51,7 @@ fn encode_packed<const N: usize>(
out: &mut [u8],
func: impl Fn(f32) -> [u8; N],
) -> Result<usize, EncodeError> {
let samples = audio::to_interleaved(frames);
let samples = audio::as_interleaved(frames);
let out = check_length(out, samples.len() * N)?;
for (output, input) in out.chunks_exact_mut(N).zip(samples) {

View file

@ -45,7 +45,7 @@ impl Input {
loop {
// try to write audio
let err = match io.readi(audio::to_interleaved_mut(audio)) {
let err = match io.readi(audio::as_interleaved_mut(audio)) {
Ok(n) => { return Ok(n) }
Err(e) => e,
};

View file

@ -41,7 +41,7 @@ impl Output {
loop {
// try to write audio
let err = match io.writei(audio::to_interleaved(audio)) {
let err = match io.writei(audio::as_interleaved(audio)) {
Ok(n) => { return Ok(n) },
Err(e) => e,
};