Skip to content

Commit 6e0c3ed

Browse files
committed
Ensure WaveShaperNode is Send+Sync, use OnceLock
1 parent 5bc2acc commit 6e0c3ed

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/node/waveshaper.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::any::Any;
2-
use std::cell::OnceCell;
32
use std::sync::atomic::{AtomicU32, Ordering};
3+
use std::sync::OnceLock;
44

55
use rubato::{FftFixedInOut, Resampler as _};
66

@@ -126,7 +126,7 @@ pub struct WaveShaperNode {
126126
/// Infos about audio node channel configuration
127127
channel_config: ChannelConfig,
128128
/// distortion curve
129-
curve: OnceCell<Vec<f32>>,
129+
curve: OnceLock<Vec<f32>>,
130130
/// oversample type
131131
oversample: AtomicU32,
132132
}
@@ -174,7 +174,7 @@ impl WaveShaperNode {
174174
let node = Self {
175175
registration,
176176
channel_config: channel_config.into(),
177-
curve: OnceCell::new(),
177+
curve: OnceLock::new(),
178178
oversample: AtomicU32::new(oversample as u32),
179179
};
180180

tests/online.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ fn ensure_send_sync_static() {
3737
context.create_periodic_wave(web_audio_api::PeriodicWaveOptions::default()),
3838
);
3939
require_send_sync_static(context.create_stereo_panner());
40+
require_send_sync_static(context.create_wave_shaper());
4041

4142
// Available nodes for online AudioContext
4243
let media_track = web_audio_api::media_streams::MediaStreamTrack::from_iter(vec![]);

0 commit comments

Comments
 (0)