separating audio from tcp; separate resampler for every input stream
Continuous integration / Check (push) Successful in 37s
Continuous integration / Test Suite (push) Successful in 33s
Continuous integration / Rustfmt (push) Successful in 25s
Continuous integration / Clippy (push) Failing after 33s
Continuous integration / build (push) Successful in 33s
Continuous integration / Check (push) Successful in 37s
Continuous integration / Test Suite (push) Successful in 33s
Continuous integration / Rustfmt (push) Successful in 25s
Continuous integration / Clippy (push) Failing after 33s
Continuous integration / build (push) Successful in 33s
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
use clap::Parser;
|
||||
use ringbuf::{HeapRb, wrap::caching::Caching};
|
||||
use ropus::Decoder;
|
||||
use rubato::Fft;
|
||||
use shared::AudioStreamInfo;
|
||||
use std::{
|
||||
collections::HashMap,
|
||||
@@ -39,21 +40,19 @@ pub struct ClientInfo {
|
||||
pub connected: bool,
|
||||
}
|
||||
|
||||
type AudioStreamKey = (u32, u8);
|
||||
pub type AudioStreamKey = (u32, u8);
|
||||
|
||||
pub type InputAudioStreamsProducers =
|
||||
Arc<Mutex<HashMap<AudioStreamKey, Caching<Arc<HeapRb<f32>>, true, false>>>>;
|
||||
HashMap<AudioStreamKey, Caching<Arc<HeapRb<f32>>, true, false>>;
|
||||
pub type InputAudioStreamsConsumers =
|
||||
Arc<Mutex<HashMap<AudioStreamKey, Caching<Arc<HeapRb<f32>>, false, true>>>>;
|
||||
|
||||
pub type InputAudioStreamsEncoders = Arc<RwLock<HashMap<AudioStreamKey, Mutex<Decoder>>>>;
|
||||
pub type InputAudioStreamsDecoders = HashMap<AudioStreamKey, Decoder>;
|
||||
pub type InputAudioStreamsResamplers = HashMap<AudioStreamKey, Fft<f32>>;
|
||||
|
||||
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>,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user