aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src/audio/output.rs
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-06-19 22:42:21 +0200
committerGustav Sörnäs <gustav@sornas.net>2021-06-19 22:42:21 +0200
commitaabf3a3b458b88eefd8b18ebc5ed9e593d4a694f (patch)
tree7029d7473ab30eab5fec866f65e736a26320dde8 /mumd/src/audio/output.rs
parent99ed190ca9691a46719c8a88d3f2437ba8e3c2ff (diff)
parent9002462953e7cba70d5aafee7ed2a87087252f49 (diff)
downloadmum-aabf3a3b458b88eefd8b18ebc5ed9e593d4a694f.tar.gz
Merge remote-tracking branch 'origin/main' into ogg
Diffstat (limited to 'mumd/src/audio/output.rs')
-rw-r--r--mumd/src/audio/output.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/mumd/src/audio/output.rs b/mumd/src/audio/output.rs
index 6aa67dd..980e65f 100644
--- a/mumd/src/audio/output.rs
+++ b/mumd/src/audio/output.rs
@@ -11,6 +11,7 @@ use dasp_ring_buffer::Bounded;
use log::*;
use mumble_protocol::voice::VoicePacketPayload;
use std::collections::{HashMap, VecDeque};
+use std::fmt::Debug;
use std::iter;
use std::ops::AddAssign;
use std::sync::{Arc, Mutex};
@@ -19,6 +20,7 @@ use tokio::sync::watch;
type ClientStreamKey = (VoiceStreamType, u32);
/// State for decoding audio received from another user.
+#[derive(Debug)]
pub struct ClientAudioData {
buf: Bounded<Vec<f32>>,
output_channels: opus::Channels,
@@ -66,6 +68,7 @@ impl ClientAudioData {
}
/// Collected state for client opus decoders and sound effects.
+#[derive(Debug)]
pub struct ClientStream {
buffer_clients: HashMap<ClientStreamKey, ClientAudioData>,
buffer_effects: VecDeque<f32>,
@@ -243,13 +246,13 @@ impl AudioOutputDevice for DefaultAudioOutputDevice {
fn play(&self) -> Result<(), AudioError> {
self.stream
.play()
- .map_err(|e| AudioError::OutputPlayError(e))
+ .map_err(AudioError::OutputPlayError)
}
fn pause(&self) -> Result<(), AudioError> {
self.stream
.pause()
- .map_err(|e| AudioError::OutputPauseError(e))
+ .map_err(AudioError::OutputPauseError)
}
fn set_volume(&self, volume: f32) {
@@ -298,3 +301,14 @@ pub fn callback<T: Sample + AddAssign + SaturatingAdd + std::fmt::Display>(
}
}
}
+
+impl Debug for DefaultAudioOutputDevice {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("DefaultAudioInputDevice")
+ .field("client_streams", &self.client_streams)
+ .field("config", &self.config)
+ .field("volume_sender", &self.volume_sender)
+ .field("stream", &"cpal::Stream")
+ .finish()
+ }
+}