Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
Sender pipeline loop. More...
#include <sender_loop.h>
Classes | |
class | Task |
Base task class. More... | |
class | Tasks |
Subclasses for specific tasks. More... | |
Public Types | |
typedef struct SlotHandle * | SlotHandle |
Opaque slot handle. More... | |
Public Member Functions | |
SenderLoop (IPipelineTaskScheduler &scheduler, const SenderSinkConfig &sink_config, const rtp::EncodingMap &encoding_map, core::IPool &packet_pool, core::IPool &packet_buffer_pool, core::IPool &frame_buffer_pool, core::IArena &arena) | |
Initialize. More... | |
bool | is_valid () const |
Check if the pipeline was successfully constructed. More... | |
sndio::ISink & | sink () |
Get sender sink. More... | |
Public Member Functions inherited from roc::pipeline::PipelineLoop | |
void | schedule (PipelineTask &task, IPipelineTaskCompleter &completer) |
Enqueue a task for asynchronous execution. More... | |
bool | schedule_and_wait (PipelineTask &task) |
Enqueue a task for asynchronous execution and wait until it finishes. More... | |
void | process_tasks () |
Process some of the enqueued tasks, if any. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from roc::pipeline::PipelineLoop | |
PipelineLoop (IPipelineTaskScheduler &scheduler, const PipelineLoopConfig &config, const audio::SampleSpec &sample_spec) | |
Initialization. More... | |
size_t | num_pending_tasks () const |
How much pending tasks are there. More... | |
size_t | num_pending_frames () const |
How much pending frames are there. More... | |
const Stats & | get_stats_ref () const |
Get task processing statistics. Returned object can't be accessed concurrently with other methods. More... | |
bool | process_subframes_and_tasks (audio::Frame &frame) |
Split frame and process subframes and some of the enqueued tasks. More... | |
Sender pipeline loop.
This class acts as a task-based facade for the sender pipeline subsystem of roc_pipeline module (SenderSink, SenderSlot, SenderEndpoint, SenderSession).
It provides two interfaces:
Definition at line 44 of file sender_loop.h.
typedef struct SlotHandle* roc::pipeline::SenderLoop::SlotHandle |
Opaque slot handle.
Definition at line 47 of file sender_loop.h.
roc::pipeline::SenderLoop::SenderLoop | ( | IPipelineTaskScheduler & | scheduler, |
const SenderSinkConfig & | sink_config, | ||
const rtp::EncodingMap & | encoding_map, | ||
core::IPool & | packet_pool, | ||
core::IPool & | packet_buffer_pool, | ||
core::IPool & | frame_buffer_pool, | ||
core::IArena & | arena | ||
) |
Initialize.
bool roc::pipeline::SenderLoop::is_valid | ( | ) | const |
Check if the pipeline was successfully constructed.
sndio::ISink& roc::pipeline::SenderLoop::sink | ( | ) |
Get sender sink.