12#ifndef ROC_PEER_RECEIVER_H_
13#define ROC_PEER_RECEIVER_H_
72 Slot* get_slot_(
size_t slot_index);
74 virtual void schedule_task_processing(pipeline::PipelineLoop&,
76 virtual void cancel_task_processing(pipeline::PipelineLoop&);
80 rtp::FormatMap format_map_;
82 pipeline::ReceiverLoop pipeline_;
83 ctl::ControlLoop::Tasks::PipelineProcessing processing_task_;
85 core::Array<Slot, 8> slots_;
struct PortHandle * PortHandle
Opaque port handle.
Context & context()
Peer's context.
Receiver(Context &context, const pipeline::ReceiverConfig &pipeline_config)
Initialize.
bool bind(size_t slot_index, address::Interface iface, address::EndpointUri &uri)
Bind peer to local endpoint.
sndio::ISource & source()
Get receiver source.
bool valid()
Check if successfully constructed.
bool set_multicast_group(size_t slot_index, address::Interface iface, const char *ip)
Set multicast interface address for given endpoint type.
Pipeline task scheduler interface. PipelineLoop uses this interface to schedule asynchronous work....
struct SlotHandle * SlotHandle
Opaque slot handle.
Pipeline task scheduler interface.
@ Iface_Max
Number of interfaces.
int64_t nanoseconds_t
Nanoseconds.