37 size_t Add(
const volatile uint8_t*
data,
size_t max_len);
38 size_t Take(uint8_t* dst,
size_t len);
56 std::unique_ptr<AudioServer> audio_server,
57 std::vector<std::shared_ptr<webrtc_streaming::AudioSink>> audio_sinks,
58 std::shared_ptr<webrtc_streaming::AudioSource> audio_source);
77 [[noreturn]]
void Loop();
80 std::vector<std::shared_ptr<webrtc_streaming::AudioSink>>
audio_sinks_;
Definition: audio_handler.h:29
void Loop()
Definition: audio_handler.cpp:278
std::shared_ptr< webrtc_streaming::AudioSource > audio_source_
Definition: audio_handler.h:84
void ReleaseStream(StreamControlCommand &cmd) override
Definition: audio_handler.cpp:346
std::thread server_thread_
Definition: audio_handler.h:82
std::vector< StreamDesc > stream_descs_
Definition: audio_handler.h:83
~AudioHandler() override=default
void Start()
Definition: audio_handler.cpp:274
void OnPlaybackBuffer(TxBuffer buffer) override
Definition: audio_handler.cpp:394
void PrepareStream(StreamControlCommand &cmd) override
Definition: audio_handler.cpp:338
std::vector< std::shared_ptr< webrtc_streaming::AudioSink > > audio_sinks_
Definition: audio_handler.h:80
void SetStreamParameters(StreamSetParamsCommand &cmd) override
Definition: audio_handler.cpp:312
std::vector< virtio_snd_pcm_info > streams_
Definition: audio_handler.h:85
void StreamsInfo(StreamInfoCommand &cmd) override
Definition: audio_handler.cpp:301
void OnCaptureBuffer(RxBuffer buffer) override
Definition: audio_handler.cpp:463
void StopStream(StreamControlCommand &cmd) override
Definition: audio_handler.cpp:363
void JacksInfo(JackInfoCommand &cmd) override
Definition: audio_handler.cpp:383
std::unique_ptr< AudioServer > audio_server_
Definition: audio_handler.h:81
void StartStream(StreamControlCommand &cmd) override
Definition: audio_handler.cpp:354
AudioHandler(std::unique_ptr< AudioServer > audio_server, std::vector< std::shared_ptr< webrtc_streaming::AudioSink > > audio_sinks, std::shared_ptr< webrtc_streaming::AudioSource > audio_source)
Definition: audio_handler.cpp:256
bool IsCapture(uint32_t stream_id) const
Definition: audio_handler.cpp:581
void ChmapsInfo(ChmapInfoCommand &cmd) override
Definition: audio_handler.cpp:372
Definition: commands.h:63
Definition: commands.h:72
Definition: commands.h:81
uint32_t size
Definition: io.h:2
Definition: alloc_utils.cpp:23
Definition: audio_handler.h:32
size_t count
Definition: audio_handler.h:34
uint8_t * data()
Definition: audio_handler.cpp:579
std::vector< uint8_t > buffer
Definition: audio_handler.h:33
void Reset(size_t size)
Definition: audio_handler.cpp:548
bool full() const
Definition: audio_handler.cpp:571
size_t Take(uint8_t *dst, size_t len)
Definition: audio_handler.cpp:561
bool empty() const
Definition: audio_handler.cpp:569
size_t Add(const volatile uint8_t *data, size_t max_len)
Definition: audio_handler.cpp:553
size_t freeCapacity() const
Definition: audio_handler.cpp:575
Definition: audio_handler.h:45
HoldingBuffer buffer
Definition: audio_handler.h:51
int channels
Definition: audio_handler.h:49
std::mutex mtx
Definition: audio_handler.h:46
bool active
Definition: audio_handler.h:50
int bits_per_sample
Definition: audio_handler.h:47
int sample_rate
Definition: audio_handler.h:48
Definition: commands.h:91
Definition: commands.h:103