Skip to content

Commit b87e36e

Browse files
authored
Merge pull request #435 from uklotzde/futures
Break up futures dependencies
2 parents ce07235 + ff2ed46 commit b87e36e

File tree

5 files changed

+19
-15
lines changed

5 files changed

+19
-15
lines changed

Cargo.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ crossbeam-channel = "0.5"
2828
cubeb = { version = "0.10", optional = true }
2929
dasp_sample = "0.11"
3030
float_eq = "1.0"
31-
futures = { version = "0.3.29", default-features = false, features = ["std"] }
31+
futures-channel = { version = "0.3.30", features = ["sink"] }
32+
futures-core = { version = "0.3.30", default-features = false }
33+
futures-util = { version = "0.3.30", default-features = false, features = [
34+
"sink",
35+
] }
3236
hound = "3.5"
3337
hrtf = "0.8.1"
3438
llq = "0.1.1"
@@ -44,7 +48,7 @@ vecmath = "1.0"
4448
no_denormals = "0.1.2"
4549

4650
[dev-dependencies]
47-
futures = { version = "0.3.29", features = ["executor"] }
51+
futures = { version = "0.3.30", features = ["executor"] }
4852
alloc_counter = "0.0.4"
4953
criterion = "0.5.1"
5054
env_logger = "0.10"

src/context/offline.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ use crate::context::{AudioContextState, BaseAudioContext, ConcreteBaseAudioConte
88
use crate::render::RenderThread;
99
use crate::{assert_valid_sample_rate, RENDER_QUANTUM_SIZE};
1010

11-
use futures::channel::oneshot;
12-
use futures::sink::SinkExt;
11+
use futures_channel::{mpsc, oneshot};
12+
use futures_util::SinkExt as _;
1313

1414
pub(crate) type OfflineAudioContextCallback =
1515
dyn FnOnce(&mut OfflineAudioContext) + Send + Sync + 'static;
@@ -26,7 +26,7 @@ pub struct OfflineAudioContext {
2626
/// actual renderer of the audio graph, can only be called once
2727
renderer: Mutex<Option<OfflineAudioContextRenderer>>,
2828
/// channel to notify resume actions on the rendering
29-
resume_sender: futures::channel::mpsc::Sender<()>,
29+
resume_sender: mpsc::Sender<()>,
3030
}
3131

3232
struct OfflineAudioContextRenderer {
@@ -37,7 +37,7 @@ struct OfflineAudioContextRenderer {
3737
/// sorted list of callbacks to run at certain render quanta (via `suspend_sync`)
3838
suspend_callbacks: Vec<(usize, Box<OfflineAudioContextCallback>)>,
3939
/// channel to listen for `resume` calls on a suspended context
40-
resume_receiver: futures::channel::mpsc::Receiver<()>,
40+
resume_receiver: mpsc::Receiver<()>,
4141
}
4242

4343
impl BaseAudioContext for OfflineAudioContext {
@@ -95,7 +95,7 @@ impl OfflineAudioContext {
9595
node_id_consumer,
9696
);
9797

98-
let (resume_sender, resume_receiver) = futures::channel::mpsc::channel(0);
98+
let (resume_sender, resume_receiver) = mpsc::channel(0);
9999

100100
let renderer = OfflineAudioContextRenderer {
101101
renderer,
@@ -221,7 +221,7 @@ impl OfflineAudioContext {
221221
///
222222
/// ```rust
223223
/// use futures::{executor, join};
224-
/// use futures::future::FutureExt;
224+
/// use futures::FutureExt as _;
225225
/// use std::sync::Arc;
226226
///
227227
/// use web_audio_api::context::BaseAudioContext;
@@ -423,8 +423,8 @@ mod tests {
423423
#[test]
424424
fn render_suspend_resume_async() {
425425
use futures::executor;
426-
use futures::future::FutureExt;
427426
use futures::join;
427+
use futures::FutureExt as _;
428428

429429
let context = Arc::new(OfflineAudioContext::new(1, 512, 44_100.));
430430
let context_clone = Arc::clone(&context);

src/context/online.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use crate::render::graph::Graph;
1313
use crate::MediaElement;
1414
use crate::{AudioRenderCapacity, Event};
1515

16-
use futures::channel::oneshot;
16+
use futures_channel::oneshot;
1717

1818
/// Check if the provided sink_id is available for playback
1919
///

src/message.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ pub(crate) enum OneshotNotify {
7171
/// A synchronous oneshot sender
7272
Sync(crossbeam_channel::Sender<()>),
7373
/// An asynchronous oneshot sender
74-
Async(futures::channel::oneshot::Sender<()>),
74+
Async(futures_channel::oneshot::Sender<()>),
7575
}
7676

7777
impl OneshotNotify {

src/render/thread.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ use std::time::{Duration, Instant};
99

1010
use crossbeam_channel::{Receiver, Sender};
1111
use dasp_sample::FromSample;
12-
use futures::channel;
13-
use futures::stream::StreamExt;
12+
use futures_channel::{mpsc, oneshot};
13+
use futures_util::StreamExt as _;
1414

1515
use super::AudioRenderQuantum;
1616
use crate::buffer::{AudioBuffer, AudioBufferOptions};
@@ -250,8 +250,8 @@ impl RenderThread {
250250
pub async fn render_audiobuffer(
251251
mut self,
252252
length: usize,
253-
mut suspend_callbacks: Vec<(usize, channel::oneshot::Sender<()>)>,
254-
mut resume_receiver: channel::mpsc::Receiver<()>,
253+
mut suspend_callbacks: Vec<(usize, oneshot::Sender<()>)>,
254+
mut resume_receiver: mpsc::Receiver<()>,
255255
) -> AudioBuffer {
256256
let options = AudioBufferOptions {
257257
number_of_channels: self.number_of_channels,

0 commit comments

Comments
 (0)