summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-17 17:00:35 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-17 17:00:35 +0100
commit0f0dc1045c224ba36e95c5cef06c3f9561e07599 (patch)
tree47862eba4522aa8d0ca8d7daa3183cbb55a0a812 /client
parenta11245c39d1551dc1e209c950d84c63931b604a5 (diff)
downloadweareserver-0f0dc1045c224ba36e95c5cef06c3f9561e07599.tar
weareserver-0f0dc1045c224ba36e95c5cef06c3f9561e07599.tar.bz2
weareserver-0f0dc1045c224ba36e95c5cef06c3f9561e07599.tar.zst
env var to disable audio features
Diffstat (limited to 'client')
-rw-r--r--client/src/audio.rs53
1 files changed, 31 insertions, 22 deletions
diff --git a/client/src/audio.rs b/client/src/audio.rs
index d90898a..e61f333 100644
--- a/client/src/audio.rs
+++ b/client/src/audio.rs
@@ -16,6 +16,7 @@
*/
use std::{
collections::{HashMap, VecDeque},
+ env::var,
sync::mpsc::{Receiver, SyncSender, sync_channel},
time::Instant,
};
@@ -34,8 +35,8 @@ use log::{debug, info, warn};
use nnnoiseless::{DenoiseState, RnnModel};
pub struct Audio {
- _instream: Stream,
- _outstream: Stream,
+ _instream: Option<Stream>,
+ _outstream: Option<Stream>,
rx: Receiver<Vec<u8>>,
tx: SyncSender<APlayPacket>,
}
@@ -63,26 +64,34 @@ impl Audio {
let (mut aenc, rx) = AEncoder::new()?;
let (mut adec, tx) = ADecoder::new()?;
- let instream = indev.build_input_stream(
- &inconf,
- move |samples: &[f32], _| {
- if let Err(e) = aenc.data(samples) {
- warn!("encoder error: {e}");
- }
- },
- |err| warn!("audio input error: {err}"),
- None,
- )?;
- let outstream = outdev.build_output_stream(
- &outconf,
- move |samples: &mut [f32], _| {
- if let Err(e) = adec.data(samples) {
- warn!("decoder error: {e}");
- }
- },
- |err| warn!("audio output error: {err}"),
- None,
- )?;
+ let instream = if var("DISABLE_AUDIO_IN").is_err() {
+ Some(indev.build_input_stream(
+ &inconf,
+ move |samples: &[f32], _| {
+ if let Err(e) = aenc.data(samples) {
+ warn!("encoder error: {e}");
+ }
+ },
+ |err| warn!("audio input error: {err}"),
+ None,
+ )?)
+ } else {
+ None
+ };
+ let outstream = if var("DISABLE_AUDIO_OUT").is_err() {
+ Some(outdev.build_output_stream(
+ &outconf,
+ move |samples: &mut [f32], _| {
+ if let Err(e) = adec.data(samples) {
+ warn!("decoder error: {e}");
+ }
+ },
+ |err| warn!("audio output error: {err}"),
+ None,
+ )?)
+ } else {
+ None
+ };
Ok(Self {
_instream: instream,