|
1 | 1 | use std::cell::OnceCell;
|
2 | 2 | use std::sync::atomic::{AtomicBool, Ordering};
|
3 |
| -use std::sync::Arc; |
4 | 3 |
|
5 | 4 | use crate::buffer::AudioBuffer;
|
6 | 5 | use crate::context::{AudioContextRegistration, AudioParamId, BaseAudioContext};
|
@@ -139,7 +138,7 @@ enum ControlMessage {
|
139 | 138 | ///
|
140 | 139 | pub struct AudioBufferSourceNode {
|
141 | 140 | registration: AudioContextRegistration,
|
142 |
| - loop_parameters: Arc<LoopParameters>, |
| 141 | + loop_parameters: LoopParameters, |
143 | 142 | channel_config: ChannelConfig,
|
144 | 143 | detune: AudioParam, // has constraints, no a-rate
|
145 | 144 | playback_rate: AudioParam, // has constraints, no a-rate
|
@@ -226,11 +225,11 @@ impl AudioBufferSourceNode {
|
226 | 225 | pr_param.set_automation_rate_constrained(true);
|
227 | 226 | pr_param.set_value(playback_rate);
|
228 | 227 |
|
229 |
| - let loop_parameters = Arc::new(LoopParameters { |
| 228 | + let loop_parameters = LoopParameters { |
230 | 229 | loop_: AtomicBool::new(loop_),
|
231 | 230 | loop_start: AtomicF64::new(loop_start),
|
232 | 231 | loop_end: AtomicF64::new(loop_end),
|
233 |
| - }); |
| 232 | + }; |
234 | 233 |
|
235 | 234 | let renderer = AudioBufferSourceRenderer {
|
236 | 235 | start_time: f64::MAX,
|
|
0 commit comments