52 static_cast<float>(
max -
min);
71 std::shared_ptr<webrtc_streaming::AudioSink> audio_sink,
72 std::shared_ptr<webrtc_streaming::AudioSource> audio_source,
73 const std::vector<AudioStreamSettings>& stream_settings,
95 [[noreturn]]
void Loop();
Definition: audio_handler.h:35
std::unique_ptr< AudioMixer > audio_mixer_
Definition: audio_handler.h:109
void Loop()
Definition: audio_handler.cpp:369
std::shared_ptr< webrtc_streaming::AudioSource > audio_source_
Definition: audio_handler.h:103
std::vector< ControlDesc > controls_to_streams_map_
Definition: audio_handler.h:108
void ReleaseStream(StreamControlCommand &cmd) override
Definition: audio_handler.cpp:435
std::thread server_thread_
Definition: audio_handler.h:102
AudioStatus HandleControlMute(ControlCommand &cmd)
Definition: audio_handler.cpp:495
std::vector< StreamDesc > stream_descs_
Definition: audio_handler.h:105
void Start()
Definition: audio_handler.cpp:364
void OnPlaybackBuffer(TxBuffer buffer) override
Definition: audio_handler.cpp:567
void PrepareStream(StreamControlCommand &cmd) override
Definition: audio_handler.cpp:427
std::vector< virtio_snd_chmap_info > chmaps_
Definition: audio_handler.h:106
AudioHandler(std::unique_ptr< AudioServer > audio_server, std::shared_ptr< webrtc_streaming::AudioSink > audio_sink, std::shared_ptr< webrtc_streaming::AudioSource > audio_source, const std::vector< AudioStreamSettings > &stream_settings, const AudioMixerSettings &mixer_settings)
Definition: audio_handler.cpp:308
void ControlsInfo(ControlInfoCommand &cmd) override
Definition: audio_handler.cpp:485
void OnControlCommand(ControlCommand &cmd) override
Definition: audio_handler.cpp:548
~AudioHandler() override
Definition: audio_handler.cpp:362
void SetStreamParameters(StreamSetParamsCommand &cmd) override
Definition: audio_handler.cpp:403
std::vector< virtio_snd_pcm_info > streams_
Definition: audio_handler.h:104
void StreamsInfo(StreamInfoCommand &cmd) override
Definition: audio_handler.cpp:392
void OnCaptureBuffer(RxBuffer buffer) override
Definition: audio_handler.cpp:603
void StopStream(StreamControlCommand &cmd) override
Definition: audio_handler.cpp:453
void JacksInfo(JackInfoCommand &cmd) override
Definition: audio_handler.cpp:475
std::unique_ptr< AudioServer > audio_server_
Definition: audio_handler.h:101
void StartStream(StreamControlCommand &cmd) override
Definition: audio_handler.cpp:443
AudioStatus HandleControlVolume(ControlCommand &cmd)
Definition: audio_handler.cpp:522
bool IsCapture(uint32_t stream_id) const
Definition: audio_handler.cpp:722
std::vector< virtio_snd_ctl_info > controls_
Definition: audio_handler.h:107
void ChmapsInfo(ChmapInfoCommand &cmd) override
Definition: audio_handler.cpp:464
Definition: commands.h:64
Definition: commands.h:134
Definition: commands.h:82
Definition: commands.h:73
Definition: commands.h:90
Definition: alloc_driver.h:20
AudioStatus
Definition: shm_layout.h:51
Definition: audio_handler.h:59
size_t stream_id
Definition: audio_handler.h:66
Type type
Definition: audio_handler.h:65
Type
Definition: audio_handler.h:60
Definition: audio_handler.h:45
uint32_t current
Definition: audio_handler.h:48
uint32_t min
Definition: audio_handler.h:46
float GetCurrentVolumeLevel()
Definition: audio_handler.h:50
uint32_t max
Definition: audio_handler.h:47
Definition: audio_handler.h:36
Volume volume
Definition: audio_handler.h:55
bool muted
Definition: audio_handler.h:56
std::mutex mtx
Definition: audio_handler.h:37
uint32_t sample_rate
Definition: audio_handler.h:39
bool active
Definition: audio_handler.h:42
uint8_t channels
Definition: audio_handler.h:41
std::vector< uint8_t > holding_buffer
Definition: audio_handler.h:38
uint8_t bits_per_sample
Definition: audio_handler.h:40
Definition: audio_settings.h:50
Definition: commands.h:100
Definition: commands.h:112