12 #ifndef ROC_SNDIO_PULSEAUDIO_SOURCE_H_
13 #define ROC_SNDIO_PULSEAUDIO_SOURCE_H_
Sample specification. Describes sample rate and channels.
PulseAudio device. Base class for PulseAudio source and sink.
virtual DeviceState state() const
Get device state.
virtual bool has_clock() const
Check if the source has own clock.
virtual void pause()
Pause reading.
virtual core::nanoseconds_t latency() const
Get latency of the source.
virtual audio::SampleSpec sample_spec() const
Get sample specification of the source.
virtual DeviceType type() const
Get device type.
PulseaudioSource(const Config &config)
Initialize.
virtual bool read(audio::Frame &frame)
Read frame.
virtual bool resume()
Resume paused reading.
virtual void reclock(core::nanoseconds_t timestamp)
Adjust source clock to match consumer clock.
virtual bool restart()
Restart reading from the beginning.
virtual bool has_latency() const
Check if the source supports latency reports.
nanoseconds_t timestamp(clock_t clock)
Get current timestamp in nanoseconds.
int64_t nanoseconds_t
Nanoseconds.