![]() |
Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
Receiver source pipeline. More...
#include <receiver_source.h>
Public Member Functions | |
ReceiverSource (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 | is_valid () const |
Check if the pipeline was successfully constructed. | |
ReceiverSlot * | create_slot (const ReceiverSlotConfig &slot_config) |
Create slot. | |
void | delete_slot (ReceiverSlot *slot) |
Delete slot. | |
size_t | num_sessions () const |
Get number of active sessions. | |
core::nanoseconds_t | refresh (core::nanoseconds_t current_time) |
Pull packets and refresh pipeline according to current time. | |
virtual sndio::ISink * | to_sink () |
Cast IDevice to ISink. | |
virtual sndio::ISource * | to_source () |
Cast IDevice to ISink. | |
virtual sndio::DeviceType | type () const |
Get device type. | |
virtual sndio::DeviceState | state () const |
Get current receiver state. | |
virtual void | pause () |
Pause reading. | |
virtual bool | resume () |
Resume paused reading. | |
virtual bool | restart () |
Restart reading from the beginning. | |
virtual audio::SampleSpec | sample_spec () const |
Get sample specification of the source. | |
virtual core::nanoseconds_t | latency () const |
Get latency of the source. | |
virtual bool | has_latency () const |
Check if the source supports latency reports. | |
virtual bool | has_clock () const |
Check if the source has own clock. | |
virtual void | reclock (core::nanoseconds_t playback_time) |
Adjust sessions clock to match consumer clock. | |
virtual bool | read (audio::Frame &) |
Read audio frame. | |
virtual void | reclock (core::nanoseconds_t timestamp)=0 |
Adjust source clock to match consumer clock. | |
virtual ISink * | to_sink ()=0 |
Cast IDevice to ISink. | |
virtual ISource * | to_source ()=0 |
Cast IDevice to ISink. | |
virtual DeviceType | type () const =0 |
Get device type. | |
virtual DeviceState | state () const =0 |
Get device state. | |
virtual void | pause ()=0 |
Pause device. | |
virtual bool | resume ()=0 |
Resume device after pause. | |
virtual bool | restart ()=0 |
Restart device. | |
virtual audio::SampleSpec | sample_spec () const =0 |
Get sample specification of the device. | |
virtual core::nanoseconds_t | latency () const =0 |
Get latency of the device. | |
virtual bool | has_latency () const =0 |
Check if the device supports latency reports. | |
virtual bool | has_clock () const =0 |
Check if the device has own clock. | |
virtual bool | read (Frame &frame)=0 |
Read audio frame. | |
![]() | |
ListData * | list_data () const |
Get pointer to internal data. | |
Additional Inherited Members | |
![]() | |
static ListNode * | list_node (ListData *data) |
Get pointer to parent node from pointer to internal data. | |
Receiver source pipeline.
Contains:
Pipeline:
Definition at line 43 of file receiver_source.h.
roc::pipeline::ReceiverSource::ReceiverSource | ( | 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.
ReceiverSlot * roc::pipeline::ReceiverSource::create_slot | ( | const ReceiverSlotConfig & | slot_config | ) |
Create slot.
void roc::pipeline::ReceiverSource::delete_slot | ( | ReceiverSlot * | slot | ) |
Delete slot.
|
virtual |
Check if the source has own clock.
Implements roc::sndio::IDevice.
|
virtual |
Check if the source supports latency reports.
Implements roc::sndio::IDevice.
bool roc::pipeline::ReceiverSource::is_valid | ( | ) | const |
Check if the pipeline was successfully constructed.
|
virtual |
Get latency of the source.
Implements roc::sndio::IDevice.
size_t roc::pipeline::ReceiverSource::num_sessions | ( | ) | const |
Get number of active sessions.
|
virtual |
Pause reading.
Implements roc::sndio::IDevice.
|
virtual |
Read audio frame.
Implements roc::audio::IFrameReader.
|
virtual |
Adjust sessions clock to match consumer clock.
playback_time
specified absolute time when first sample of last frame retrieved from pipeline will be actually played on sink Implements roc::sndio::ISource.
core::nanoseconds_t roc::pipeline::ReceiverSource::refresh | ( | core::nanoseconds_t | current_time | ) |
Pull packets and refresh pipeline according to current time.
|
virtual |
Restart reading from the beginning.
Implements roc::sndio::IDevice.
|
virtual |
Resume paused reading.
Implements roc::sndio::IDevice.
|
virtual |
Get sample specification of the source.
Implements roc::sndio::IDevice.
|
virtual |
Get current receiver state.
Implements roc::sndio::IDevice.
|
virtual |
Cast IDevice to ISink.
Implements roc::sndio::IDevice.
|
virtual |
Cast IDevice to ISink.
Implements roc::sndio::IDevice.
|
virtual |
Get device type.
Implements roc::sndio::IDevice.