12#ifndef ROC_AUDIO_MIXER_H_
13#define ROC_AUDIO_MIXER_H_
70 void read_(
sample_t* out_data,
size_t out_sz,
unsigned& flags);
Mixer. Mixes multiple input streams into one output stream.
Mixer(core::BufferFactory< sample_t > &buffer_factory, core::nanoseconds_t frame_length, const audio::SampleSpec &sample_spec)
Initialize.
bool valid() const
Check if the mixer was succefully constructed.
void remove_input(IFrameReader &)
Remove input reader.
virtual bool read(Frame &frame)
Read audio frame.
void add_input(IFrameReader &)
Add input reader.
Sample stream specification. Defines sample rate and channel layout.
Intrusive doubly-linked list.
Base class for non-copyable objects.
Intrusive doubly-linked list.
float sample_t
Audio sample.
int64_t nanoseconds_t
Nanoseconds.
Various units used in packets.