|
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. | |
Public Member Functions | |
| ReceiverLoop (IPipelineTaskScheduler &scheduler, const ReceiverConfig &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. | |
| sndio::ISource & | source () |
| Get receiver sources. | |
Public Member Functions inherited from roc::pipeline::PipelineLoop | |
| void | schedule (PipelineTask &task, IPipelineTaskCompleter &completer) |
| Enqueue a task for asynchronous execution. | |
| bool | schedule_and_wait (PipelineTask &task) |
| Enqueue a task for asynchronous execution and wait until it finishes. | |
| void | process_tasks () |
| Process some of the enqueued tasks, if any. | |
Additional Inherited Members | |
Protected Member Functions inherited from roc::pipeline::PipelineLoop | |
| PipelineLoop (IPipelineTaskScheduler &scheduler, const TaskConfig &config, const audio::SampleSpec &sample_spec) | |
| Initialization. | |
| size_t | num_pending_tasks () const |
| How much pending tasks are there. | |
| size_t | num_pending_frames () const |
| How much pending frames are there. | |
| const Stats & | get_stats_ref () const |
| Get task processing statistics. Returned object can't be accessed concurrently with other methods. | |
| bool | process_subframes_and_tasks (audio::Frame &frame) |
| Split frame and process subframes and some of the enqueued tasks. | |
| virtual core::nanoseconds_t | timestamp_imp () const =0 |
| Get current time. | |
| virtual bool | process_subframe_imp (audio::Frame &frame)=0 |
| Process subframe. | |
| virtual bool | process_task_imp (PipelineTask &task)=0 |
| Process task. | |
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 ReceiverConfig & | 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.
| sndio::ISource & roc::pipeline::ReceiverLoop::source | ( | ) |
Get receiver sources.
| bool roc::pipeline::ReceiverLoop::valid | ( | ) | const |
Check if the pipeline was successfully constructed.