Skip to content

Commit

Permalink
rename to_interleaved to as_interleaved
Browse files Browse the repository at this point in the history
  • Loading branch information
haileys committed Dec 29, 2023
1 parent 77a3927 commit af2a594
Show file tree
Hide file tree
Showing 7 changed files with 9 additions and 24 deletions.
19 changes: 2 additions & 17 deletions bark-core/src/audio.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
use bark_protocol::CHANNELS;
use bytemuck::{Pod, Zeroable};

pub type Sample = f32;
Expand All @@ -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)
}
4 changes: 2 additions & 2 deletions bark-core/src/decode/opus.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion bark-core/src/decode/pcm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion bark-core/src/encode/opus.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)?)
}
}
2 changes: 1 addition & 1 deletion bark-core/src/encode/pcm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
2 changes: 1 addition & 1 deletion bark/src/audio/input.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
};
Expand Down
2 changes: 1 addition & 1 deletion bark/src/audio/output.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
};
Expand Down

0 comments on commit af2a594

Please sign in to comment.