Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
Loading...
Searching...
No Matches
roc::pipeline::SenderSink Class Reference

Sender sink pipeline. More...

#include <sender_sink.h>

Inheritance diagram for roc::pipeline::SenderSink:
roc::sndio::ISink roc::core::NonCopyable< T > roc::sndio::ITerminal roc::audio::IFrameWriter roc::core::ListNode roc::core::NonCopyable< ListNode >

Public Member Functions

 SenderSink (const SenderConfig &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.
 
SenderSlotcreate_slot ()
 Create slot.
 
core::nanoseconds_t get_update_deadline ()
 Get deadline when the pipeline should be updated.
 
void update ()
 Update pipeline.
 
virtual audio::SampleSpec sample_spec () const
 Get sample specification of the sink.
 
virtual core::nanoseconds_t latency () const
 Get latency of the sink.
 
virtual bool has_clock () const
 Check if the sink has own clock.
 
virtual void write (audio::Frame &frame)
 Write audio frame.
 
virtual audio::SampleSpec sample_spec () const =0
 Get sample specification of the terminal.
 
virtual core::nanoseconds_t latency () const =0
 Get latency of the terminal.
 
virtual bool has_clock () const =0
 Check if the terminal has own clock.
 
virtual void write (Frame &frame)=0
 Write audio frame.
 
- Public Member Functions inherited from roc::core::ListNode
ListNodeDatalist_node_data () const
 Get list node data.
 

Detailed Description

Sender sink pipeline.

Contains:

  • one or more sender slots
  • fanout, to duplicate audio to all slots

Pipeline:

  • input: frames
  • output: packets

Definition at line 48 of file sender_sink.h.

Constructor & Destructor Documentation

◆ SenderSink()

roc::pipeline::SenderSink::SenderSink ( const SenderConfig 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.

Member Function Documentation

◆ create_slot()

SenderSlot * roc::pipeline::SenderSink::create_slot ( )

Create slot.

◆ get_update_deadline()

core::nanoseconds_t roc::pipeline::SenderSink::get_update_deadline ( )

Get deadline when the pipeline should be updated.

◆ has_clock()

virtual bool roc::pipeline::SenderSink::has_clock ( ) const
virtual

Check if the sink has own clock.

Implements roc::sndio::ITerminal.

◆ latency()

virtual core::nanoseconds_t roc::pipeline::SenderSink::latency ( ) const
virtual

Get latency of the sink.

Implements roc::sndio::ITerminal.

◆ sample_spec()

virtual audio::SampleSpec roc::pipeline::SenderSink::sample_spec ( ) const
virtual

Get sample specification of the sink.

Implements roc::sndio::ITerminal.

◆ update()

void roc::pipeline::SenderSink::update ( )

Update pipeline.

◆ valid()

bool roc::pipeline::SenderSink::valid ( ) const

Check if the pipeline was successfully constructed.

◆ write()

virtual void roc::pipeline::SenderSink::write ( audio::Frame frame)
virtual

Write audio frame.

Implements roc::audio::IFrameWriter.


The documentation for this class was generated from the following file: