mirror of
https://github.com/haileys/bark
synced 2025-03-17 15:16:56 +00:00
rename to_interleaved to as_interleaved
This commit is contained in:
parent
77a39271f9
commit
af2a5946bd
7 changed files with 9 additions and 24 deletions
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)?)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue