12 #ifndef ROC_PIPELINE_TRANSCODER_SINK_H_
13 #define ROC_PIPELINE_TRANSCODER_SINK_H_
Sample specification. Describes sample rate and channels.
Base class for non-copyable objects.
Optionally constructed object.
Shared ownership intrusive pointer.
Transcoder sink pipeline.
virtual sndio::DeviceType type() const
Get device type.
virtual sndio::ISink * to_sink()
Cast IDevice to ISink.
virtual audio::SampleSpec sample_spec() const
Get sample specification of the sink.
bool is_valid()
Check if the pipeline was successfully constructed.
virtual core::nanoseconds_t latency() const
Get latency of the sink.
virtual void pause()
Pause reading.
virtual bool resume()
Resume paused reading.
virtual bool restart()
Restart reading from the beginning.
virtual void write(audio::Frame &frame)
Write audio frame.
virtual sndio::ISource * to_source()
Cast IDevice to ISink.
virtual bool has_clock() const
Check if the sink has own clock.
virtual sndio::DeviceState state() const
Get device state.
TranscoderSink(const TranscoderConfig &config, audio::IFrameWriter *output_writer, core::IPool &buffer_pool, core::IArena &arena)
Initialize.
virtual bool has_latency() const
Check if the sink supports latency reports.
Audio resampler interface.
int64_t nanoseconds_t
Nanoseconds.
Optionally constructed object.