From b19d732a3a4503f4c2ca4e58328f74a4dbe81248 Mon Sep 17 00:00:00 2001 From: fufesou <13586388+fufesou@users.noreply.github.com> Date: Wed, 12 Jun 2024 00:32:10 +0800 Subject: [PATCH] fix: audio rechannel len (#8315) * fix: audio rechannel len Signed-off-by: fufesou * comments Signed-off-by: fufesou --------- Signed-off-by: fufesou --- src/server/audio_service.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server/audio_service.rs b/src/server/audio_service.rs index 031d4e673..538dba04b 100644 --- a/src/server/audio_service.rs +++ b/src/server/audio_service.rs @@ -310,7 +310,9 @@ mod cpal_impl { let mut encoder = Encoder::new(sample_rate, encode_channel, LowDelay)?; // https://www.opus-codec.org/docs/html_api/group__opusencoder.html#gace941e4ef26ed844879fde342ffbe546 // https://chromium.googlesource.com/chromium/deps/opus/+/1.1.1/include/opus.h - let frame_size = sample_rate as usize / 100; // 10 ms + // Do not set `frame_size = sample_rate as usize / 100;` + // Because we find `sample_rate as usize / 100` will cause encoder error in `encoder.encode_vec_float()`. + let frame_size = sample_rate_0 as usize / 100; // 10 ms let encode_len = frame_size * encode_channel as usize; let rechannel_len = encode_len * device_channel as usize / encode_channel as usize; INPUT_BUFFER.lock().unwrap().clear();