12#ifndef ROC_PIPELINE_RECEIVER_SOURCE_H_
13#define ROC_PIPELINE_RECEIVER_SOURCE_H_
Sample stream specification. Defines sample rate and channel layout.
Memory allocator interface.
Intrusive doubly-linked list.
Base class for non-copyable objects.
Optionally constructed object.
Receiver source pipeline.
virtual void pause()
Pause reading.
virtual core::nanoseconds_t latency() const
Get latency of the source.
virtual bool restart()
Restart reading from the beginning.
virtual bool resume()
Resume paused reading.
virtual State state() const
Get current receiver state.
bool valid() const
Check if the pipeline was successfully constructed.
virtual bool has_clock() const
Check if the source has own clock.
virtual audio::SampleSpec sample_spec() const
Get sample specification of the source.
ReceiverSlot * create_slot()
Create slot.
ReceiverSource(const ReceiverConfig &config, const rtp::FormatMap &format_map, packet::PacketFactory &packet_factory, core::BufferFactory< uint8_t > &byte_buffer_factory, core::BufferFactory< audio::sample_t > &sample_buffer_factory, core::IAllocator &allocator)
Initialize.
virtual bool read(audio::Frame &)
Read audio frame.
virtual void reclock(packet::ntp_timestamp_t timestamp)
Adjust source clock to match consumer clock.
size_t num_sessions() const
Get number of connected sessions.
Receiver pipeline state. Thread-safe.
Memory allocator interface.
int64_t nanoseconds_t
Nanoseconds.
uint32_t timestamp_t
Audio packet timestamp.
uint64_t ntp_timestamp_t
NTP timestamp.
Optionally constructed object.
Receiver endpoint pipeline.
Commonly used types and functions.