Skip to content

Commit bd9a039

Browse files
committed
update speexdsp-rs fork with the fix for ub
1 parent ec79e29 commit bd9a039

File tree

3 files changed

+15
-45
lines changed

3 files changed

+15
-45
lines changed

RustApp/Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

RustApp/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ fix-path-env = { git = "https://github.com/wiiznokes/fix-path-env-rs", rev = "86
9797
env_logger = "0.11"
9898
nnnoiseless = "0.5"
9999
open = "5"
100-
speexdsp = { git = "https://github.com/wiiznokes/speexdsp-rs-fork", branch = "vendor", features = [
100+
speexdsp = { git = "https://github.com/wiiznokes/speexdsp-rs-fork", branch = "vendor-and-fixes", features = [
101101
"sys",
102102
"vendored-sys",
103103
] }

RustApp/src/audio/speexdsp.rs

Lines changed: 11 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::sync::{LazyLock, Mutex};
22

3-
use speexdsp::preprocess::{SpeexPreprocess, SpeexPreprocessConst};
3+
use speexdsp::preprocess::SpeexPreprocess;
44

55
use crate::audio::AudioProcessParams;
66

@@ -60,48 +60,18 @@ pub fn process_speex_f32_stream(
6060
let mut st =
6161
SpeexPreprocess::new(FRAME_SIZE, SPEEXDSP_SAMPLE_RATE as usize).unwrap();
6262

63-
st.preprocess_ctl(
64-
SpeexPreprocessConst::SPEEX_PREPROCESS_SET_DENOISE,
65-
if config.is_speex_denoise_enabled() {
66-
1
67-
} else {
68-
0
69-
},
70-
)
71-
.unwrap();
72-
63+
st.set_denoise(config.is_speex_denoise_enabled());
7364
st.set_noise_suppress(config.speex_noise_suppress);
7465

75-
st.preprocess_ctl(
76-
SpeexPreprocessConst::SPEEX_PREPROCESS_SET_VAD,
77-
if config.speex_vad_enabled { 1 } else { 0 },
78-
)
79-
.unwrap();
80-
st.preprocess_ctl(
81-
SpeexPreprocessConst::SPEEX_PREPROCESS_SET_PROB_START,
82-
config.speex_vad_threshold,
83-
)
84-
.unwrap();
85-
st.preprocess_ctl(
86-
SpeexPreprocessConst::SPEEX_PREPROCESS_SET_AGC,
87-
if config.speex_agc_enabled { 1 } else { 0 },
88-
)
89-
.unwrap();
90-
st.preprocess_ctl(
91-
SpeexPreprocessConst::SPEEX_PREPROCESS_SET_AGC_TARGET,
92-
config.speex_agc_target,
93-
)
94-
.unwrap();
95-
st.preprocess_ctl(
96-
SpeexPreprocessConst::SPEEX_PREPROCESS_SET_DEREVERB,
97-
if config.speex_dereverb_enabled { 1 } else { 0 },
98-
)
99-
.unwrap();
100-
st.preprocess_ctl(
101-
SpeexPreprocessConst::SPEEX_PREPROCESS_SET_DEREVERB_LEVEL,
102-
config.speex_dereverb_level,
103-
)
104-
.unwrap();
66+
st.set_vad(config.speex_vad_enabled);
67+
st.set_prob_start(config.speex_vad_threshold);
68+
69+
st.set_agc(config.speex_agc_enabled);
70+
st.set_agc_target(config.speex_agc_target);
71+
72+
st.set_dereverb(config.speex_dereverb_enabled);
73+
st.set_dereverb_level(config.speex_dereverb_level);
74+
10575
st
10676
})
10777
.collect(),

0 commit comments

Comments
 (0)