12#ifndef ROC_PIPELINE_RECEIVER_LOOP_H_
13#define ROC_PIPELINE_RECEIVER_LOOP_H_
125 virtual bool has_clock()
const;
126 virtual State state()
const;
127 virtual void pause();
128 virtual bool resume();
129 virtual bool restart();
139 bool task_create_slot_(
Task& task);
140 bool task_create_endpoint_(
Task& task);
141 bool task_delete_endpoint_(
Task& task);
Sample stream specification. Defines sample rate and channel layout.
Memory allocator interface.
Optionally constructed object.
Pipeline task scheduler interface. PipelineLoop uses this interface to schedule asynchronous work....
Base class for task-based pipelines.
Base class for pipeline tasks.
bool(ReceiverLoop::* func_)(Task &)
Task implementation method.
packet::IWriter * writer_
Packet writer.
address::Interface iface_
Interface.
address::Protocol proto_
Protocol.
ReceiverSlot * slot_
Slot.
Create endpoint on given interface of the slot.
CreateEndpoint(SlotHandle slot, address::Interface iface, address::Protocol proto)
Set task parameters.
packet::IWriter * get_writer() const
Get packet writer for the endpoint.
SlotHandle get_handle() const
Get created slot handle.
CreateSlot()
Set task parameters.
Delete endpoint on given interface of the slot, if it exists.
DeleteEndpoint(SlotHandle slot, address::Interface iface)
Set task parameters.
Subclasses for specific tasks.
sndio::ISource & source()
Get receiver sources.
struct SlotHandle * SlotHandle
Opaque slot handle.
ReceiverLoop(IPipelineTaskScheduler &scheduler, 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.
bool valid() const
Check if the pipeline was successfully constructed.
Receiver source pipeline.
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.
Base class for pipelines.
Receiver source pipeline.
Commonly used types and functions.