mirror of
https://github.com/haileys/bark
synced 2025-03-17 07:07:00 +00:00
whoops fix scaling in s16le codec
This commit is contained in:
parent
3efb29a5e2
commit
14ea8a74e0
2 changed files with 2 additions and 2 deletions
|
@ -14,7 +14,7 @@ impl Decode for S16LEDecoder {
|
|||
fn decode_packet(&mut self, bytes: &[u8], out: &mut SampleBuffer) -> Result<(), DecodeError> {
|
||||
decode_packed(bytes, out, |bytes| {
|
||||
let input = i16::from_le_bytes(bytes);
|
||||
let scale = (u16::MIN as f32).abs();
|
||||
let scale = i16::MAX as f32;
|
||||
input as f32 / scale
|
||||
})
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ impl Encode for S16LEEncoder {
|
|||
|
||||
fn encode_packet(&mut self, samples: &[f32], out: &mut [u8]) -> Result<usize, EncodeError> {
|
||||
encode_packed(samples, out, |sample| {
|
||||
let scale = (u16::MIN as f32).abs();
|
||||
let scale = i16::MAX as f32;
|
||||
let sample = sample.clamp(-1.0, 1.0) * scale;
|
||||
i16::to_le_bytes(sample as i16)
|
||||
})
|
||||
|
|
Loading…
Add table
Reference in a new issue