Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
Receiver pipeline loop. More...
#include <receiver_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 | |
ReceiverLoop (IPipelineTaskScheduler &scheduler, const ReceiverSourceConfig &source_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::ISource & | source () |
Get receiver sources. 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... | |
Receiver pipeline loop.
This class acts as a task-based facade for the receiver pipeline subsystem of roc_pipeline module (ReceiverSource, ReceiverSlot, ReceiverEndpoint, ReceiverSessionGroup, ReceiverSession).
It provides two interfaces:
Definition at line 46 of file receiver_loop.h.
typedef struct SlotHandle* roc::pipeline::ReceiverLoop::SlotHandle |
Opaque slot handle.
Definition at line 49 of file receiver_loop.h.
roc::pipeline::ReceiverLoop::ReceiverLoop | ( | IPipelineTaskScheduler & | scheduler, |
const ReceiverSourceConfig & | source_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::ReceiverLoop::is_valid | ( | ) | const |
Check if the pipeline was successfully constructed.
sndio::ISource& roc::pipeline::ReceiverLoop::source | ( | ) |
Get receiver sources.