Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::pipeline::SenderSession Class Reference

Sender session sub-pipeline. More...

#include <sender_session.h>

Inheritance diagram for roc::pipeline::SenderSession:
Collaboration diagram for roc::pipeline::SenderSession:

Public Member Functions

 SenderSession (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::IArena &arena)
 Initialize. More...
 
bool create_transport_pipeline (SenderEndpoint *source_endpoint, SenderEndpoint *repair_endpoint)
 Create transport sub-pipeline. More...
 
bool create_control_pipeline (SenderEndpoint *control_endpoint)
 Create control sub-pipeline. More...
 
audio::IFrameWriterwriter () const
 Get audio writer. More...
 
core::nanoseconds_t refresh (core::nanoseconds_t current_time)
 Refresh pipeline according to current time. More...
 
SenderSessionMetrics get_metrics () const
 Get session metrics. More...
 

Detailed Description

Sender session sub-pipeline.

Contains:

  • a pipeline for processing audio frames from single sender and converting them into packets

Definition at line 47 of file sender_session.h.

Constructor & Destructor Documentation

◆ SenderSession()

roc::pipeline::SenderSession::SenderSession ( 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::IArena arena 
)

Initialize.

Member Function Documentation

◆ create_control_pipeline()

bool roc::pipeline::SenderSession::create_control_pipeline ( SenderEndpoint control_endpoint)

Create control sub-pipeline.

◆ create_transport_pipeline()

bool roc::pipeline::SenderSession::create_transport_pipeline ( SenderEndpoint source_endpoint,
SenderEndpoint repair_endpoint 
)

Create transport sub-pipeline.

◆ get_metrics()

SenderSessionMetrics roc::pipeline::SenderSession::get_metrics ( ) const

Get session metrics.

◆ refresh()

core::nanoseconds_t roc::pipeline::SenderSession::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::SenderSession::writer ( ) const

Get audio writer.


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