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

Sender slot. More...

#include <sender_slot.h>

Inheritance diagram for roc::pipeline::SenderSlot:
roc::core::RefCounted< SenderSlot, core::ArenaAllocation > roc::core::ListNode roc::core::NonCopyable< T > roc::core::ArenaAllocation roc::core::NonCopyable< ListNode >

Public Member Functions

 SenderSlot (const SenderConfig &config, const rtp::FormatMap &format_map, audio::Fanout &fanout, packet::PacketFactory &packet_factory, core::BufferFactory< uint8_t > &byte_buffer_factory, core::BufferFactory< audio::sample_t > &sample_buffer_factory, core::IArena &arena)
 Initialize.
 
SenderEndpointadd_endpoint (address::Interface iface, address::Protocol proto, const address::SocketAddr &dest_address, packet::IWriter &dest_writer)
 Add endpoint.
 
audio::IFrameWriterwriter ()
 Get audio writer.
 
bool is_complete () const
 Check if slot configuration is complete.
 
core::nanoseconds_t refresh (core::nanoseconds_t current_time)
 Refresh pipeline according to current time.
 
void get_metrics (SenderSlotMetrics &slot_metrics, SenderSessionMetrics *sess_metrics) const
 Get metrics for slot and its session.
 
- Public Member Functions inherited from roc::core::RefCounted< SenderSlot, core::ArenaAllocation >
 RefCounted ()
 Initialize.
 
 RefCounted (const core::ArenaAllocation &policy)
 Initialize.
 
int getref () const
 Get reference counter.
 
void incref () const
 Increment reference counter.
 
void decref () const
 Decrement reference counter.
 
- Public Member Functions inherited from roc::core::ListNode
ListNodeDatalist_node_data () const
 Get list node data.
 

Additional Inherited Members

- Protected Member Functions inherited from roc::core::ArenaAllocation
IArenaarena () const
 Get arena.
 
 ArenaAllocation (IArena &arena)
 Initialize.
 
template<class T >
void destroy (T &object)
 Destroy object and return memory to arena.
 

Detailed Description

Sender slot.

Contains:

  • one or more related sender endpoints, one per each type
  • one session associated with those endpoints

Definition at line 37 of file sender_slot.h.

Constructor & Destructor Documentation

◆ SenderSlot()

roc::pipeline::SenderSlot::SenderSlot ( const SenderConfig & config,
const rtp::FormatMap & format_map,
audio::Fanout & fanout,
packet::PacketFactory & packet_factory,
core::BufferFactory< uint8_t > & byte_buffer_factory,
core::BufferFactory< audio::sample_t > & sample_buffer_factory,
core::IArena & arena )

Initialize.

Member Function Documentation

◆ add_endpoint()

SenderEndpoint * roc::pipeline::SenderSlot::add_endpoint ( address::Interface iface,
address::Protocol proto,
const address::SocketAddr & dest_address,
packet::IWriter & dest_writer )

Add endpoint.

◆ get_metrics()

void roc::pipeline::SenderSlot::get_metrics ( SenderSlotMetrics & slot_metrics,
SenderSessionMetrics * sess_metrics ) const

Get metrics for slot and its session.

◆ is_complete()

bool roc::pipeline::SenderSlot::is_complete ( ) const

Check if slot configuration is complete.

◆ refresh()

core::nanoseconds_t roc::pipeline::SenderSlot::refresh ( core::nanoseconds_t current_time)

Refresh pipeline according to current time.

Returns
deadline (absolute time) when refresh should be invoked again if there are no frames

◆ writer()

audio::IFrameWriter * roc::pipeline::SenderSlot::writer ( )

Get audio writer.

Returns
NULL if slot is not ready.

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