aboutsummaryrefslogtreecommitdiffstats
path: root/mumd
diff options
context:
space:
mode:
authorEskil Q <eskilq@kth.se>2021-01-02 11:25:29 +0100
committerEskil Q <eskilq@kth.se>2021-01-02 11:25:29 +0100
commit30a0c3b479b1ff39ad2bf9fbd58c93634ed418b2 (patch)
treec3ed0eeda728c31e2abde17780172fc2881dc210 /mumd
parent0f225e518b6889f604cb440f14824b21ed49bf37 (diff)
downloadmum-30a0c3b479b1ff39ad2bf9fbd58c93634ed418b2.tar.gz
remove AudioStream struct
Diffstat (limited to 'mumd')
-rw-r--r--mumd/src/audio/input.rs35
1 files changed, 0 insertions, 35 deletions
diff --git a/mumd/src/audio/input.rs b/mumd/src/audio/input.rs
index febcb17..517c9ce 100644
--- a/mumd/src/audio/input.rs
+++ b/mumd/src/audio/input.rs
@@ -22,39 +22,4 @@ pub fn callback<T: Sample>(
}
}
}
-}
-
-struct AudioStream<T> {
- data: Arc<Mutex<(VecDeque<T>, Option<Waker>)>>,
-}
-
-impl<T> AudioStream<T> {
- fn new() -> Self {
- Self {
- data: Arc::new(Mutex::new((VecDeque::new(), None)))
- }
- }
-
- fn insert_sample(&self, sample: T) {
- let mut data = self.data.lock().unwrap();
- data.0.push_back(sample);
- if let Some(waker) = data.1.take() {
- waker.wake();
- }
- }
-}
-
-impl<T> Stream for AudioStream<T> {
- type Item = T;
-
- fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {
- let s = self.get_mut();
- let mut data = s.data.lock().unwrap();
- if data.0.len() > 0 {
- Poll::Ready(data.0.pop_front())
- } else {
- data.1 = Some(cx.waker().clone());
- Poll::Pending
- }
- }
} \ No newline at end of file