diff --git a/src/trx-server/src/audio.rs b/src/trx-server/src/audio.rs index 01bbfd5..caa7860 100644 --- a/src/trx-server/src/audio.rs +++ b/src/trx-server/src/audio.rs @@ -206,22 +206,19 @@ fn run_playback( stream.play()?; info!("Audio playback: started"); - let rt = tokio::runtime::Handle::current(); let mut pcm_buf = vec![0f32; frame_samples]; - rt.block_on(async { - while let Some(packet) = rx.recv().await { - match decoder.decode_float(&packet, &mut pcm_buf, false) { - Ok(decoded) => { - let mut ring = ring_writer.lock().unwrap(); - ring.extend(&pcm_buf[..decoded * channels as usize]); - } - Err(e) => { - warn!("Opus decode error: {}", e); - } + while let Some(packet) = rx.blocking_recv() { + match decoder.decode_float(&packet, &mut pcm_buf, false) { + Ok(decoded) => { + let mut ring = ring_writer.lock().unwrap(); + ring.extend(&pcm_buf[..decoded * channels as usize]); + } + Err(e) => { + warn!("Opus decode error: {}", e); } } - }); + } Ok(()) } diff --git a/src/trx-server/src/config.rs b/src/trx-server/src/config.rs index 0ed2bcf..be703ab 100644 --- a/src/trx-server/src/config.rs +++ b/src/trx-server/src/config.rs @@ -172,7 +172,7 @@ pub struct AudioConfig { impl Default for AudioConfig { fn default() -> Self { Self { - enabled: false, + enabled: true, listen: IpAddr::V4(std::net::Ipv4Addr::LOCALHOST), port: 4533, rx_enabled: true, @@ -305,7 +305,7 @@ mod tests { assert!(config.listen.enabled); assert_eq!(config.listen.port, 4532); assert!(config.listen.auth.tokens.is_empty()); - assert!(!config.audio.enabled); + assert!(config.audio.enabled); assert_eq!(config.audio.port, 4533); assert_eq!(config.audio.sample_rate, 48000); }