almost working device selector

This commit is contained in:
2026-09-05 01:47:51 +02:00
parent 2dcd07b75a
commit 6b47abcd89
5 changed files with 186 additions and 55 deletions
+14 -1
View File
@@ -6,17 +6,22 @@ use std::{
collections::HashMap,
sync::{Arc, Mutex, RwLock},
};
use tokio::net::UdpSocket;
#[derive(Parser)]
#[command(version, about)]
pub struct CliArgs {
#[arg(short, long, required(false))]
pub connect_with_defaults: Option<String>,
#[arg(short, long, required(false))]
pub server_ip: Option<String>,
}
#[derive(Debug)]
#[derive(Debug, Clone, Copy)]
pub enum TuiScreen {
DeviceSelect,
Blank,
Exit,
}
@@ -43,3 +48,11 @@ pub type InputAudioStreamsConsumers =
pub type InputAudioStreamsEncoders = Arc<RwLock<HashMap<AudioStreamKey, Mutex<Decoder>>>>;
pub type InputAudioStreamsInfo = Arc<RwLock<HashMap<AudioStreamKey, AudioStreamInfo>>>;
pub struct AudioControl {
pub active_input_audio_streams_producers: InputAudioStreamsProducers,
pub active_input_audio_streams_consumers: InputAudioStreamsConsumers,
pub active_input_audio_streams_encoders: InputAudioStreamsEncoders,
pub active_input_audio_streams_info: InputAudioStreamsInfo,
pub udp_socket: Arc<UdpSocket>,
}