12#ifndef ROC_PIPELINE_CONFIG_H_
13#define ROC_PIPELINE_CONFIG_H_
Sample stream specification. Defines sample rate and channel layout.
ResamplerBackend
Resampler backends.
ResamplerProfile
Resampler parameters presets.
const nanoseconds_t Millisecond
One millisecond represented in nanoseconds.
int64_t nanoseconds_t
Nanoseconds.
uint32_t channel_mask_t
Bitmask of channels present in audio packet.
const core::nanoseconds_t DefaultInternalFrameLength
Default internal frame length.
const int DefaultMinLatencyFactor
Default minum latency relative to target latency.
const int DefaultMaxLatencyFactor
Default maximum latency relative to target latency.
const core::nanoseconds_t DefaultPacketLength
Default packet length.
const packet::channel_mask_t DefaultChannelMask
Default channel mask.
const core::nanoseconds_t DefaultLatency
Default latency.
const size_t DefaultSampleRate
Default sample rate, number of samples per second.
PayloadType
RTP payload type.
Commonly used types and functions.
FreqEstimator tunable parameters.
Parameters for latency monitor.
core::nanoseconds_t max_latency
Maximum allowed latency, nanoseconds. If the latency goes out of bounds, the session is terminated.
core::nanoseconds_t min_latency
Minimum allowed latency, nanoseconds. If the latency goes out of bounds, the session is terminated.
Profiler Configuration Parameters. Controls profiling interval and duration of each circular buffer c...
core::nanoseconds_t internal_frame_length
Duration of the internal frames, in nanoseconds.
bool profiling
Profile moving average of frames being written.
audio::SampleSpec input_sample_spec
Input sample spec.
audio::ResamplerProfile resampler_profile
Resampler profile.
bool poisoning
Fill unitialized data with large values to make them more noticable.
audio::SampleSpec output_sample_spec
Output sample spec.
bool resampling
Resample frames with a constant ratio.
audio::ResamplerBackend resampler_backend
To specify which resampling backend will be used.
audio::ProfilerConfig profiler_config
Profiler configuration.
Receiver common parameters.
bool beeping
Insert weird beeps instead of silence on packet loss.
bool poisoning
Fill uninitialized data with large values to make them more noticeable.
bool timing
Constrain receiver speed using a CPU timer according to the sample rate.
bool resampling
Perform resampling to compensate sender and receiver frequency difference.
core::nanoseconds_t internal_frame_length
Duration of the internal frames, in nanoseconds.
bool profiling
Profile moving average of frames being written.
audio::SampleSpec output_sample_spec
Output sample spec.
audio::ProfilerConfig profiler_config
Profiler configuration.
TaskConfig tasks
Task processing parameters.
ReceiverCommonConfig common
Parameters common for all sessions.
ReceiverSessionConfig default_session
Default parameters for receiver session.
Receiver session parameters.
core::nanoseconds_t target_latency
Target latency, nanoseconds.
audio::LatencyMonitorConfig latency_monitor
LatencyMonitor parameters.
fec::ReaderConfig fec_reader
FEC reader parameters.
audio::ResamplerBackend resampler_backend
To specify which resampling backend will be used.
audio::FreqEstimatorConfig freq_estimator_config
FreqEstimator config.
unsigned int payload_type
Packet payload type.
audio::ResamplerProfile resampler_profile
Resampler profile.
fec::CodecConfig fec_decoder
FEC decoder parameters.
rtp::ValidatorConfig rtp_validator
RTP validator parameters.
audio::WatchdogConfig watchdog
Watchdog parameters.
audio::SampleSpec input_sample_spec
Input sample spec.
TaskConfig tasks
Task processing parameters.
bool resampling
Resample frames with a constant ratio.
audio::ProfilerConfig profiler_config
Profiler configuration.
bool timing
Constrain receiver speed using a CPU timer according to the sample rate.
core::nanoseconds_t packet_length
Packet length, in nanoseconds.
rtp::PayloadType payload_type
RTP payload type for audio packets.
bool interleaving
Interleave packets.
bool poisoning
Fill unitialized data with large values to make them more noticable.
bool profiling
Profile moving average of frames being written.
audio::ResamplerProfile resampler_profile
Resampler profile.
audio::ResamplerBackend resampler_backend
To specify which resampling backend will be used.
fec::CodecConfig fec_encoder
FEC encoder parameters.
fec::WriterConfig fec_writer
FEC writer parameters.
core::nanoseconds_t internal_frame_length
Duration of the internal frames, in nanoseconds.
Task processing parameters.
core::nanoseconds_t task_processing_prohibited_interval
Time interval during which no task processing is allowed. This setting is used to prohibit task proce...
bool enable_precise_task_scheduling
Enable precise task scheduling mode (default). The other settings have effect only when this is set t...
core::nanoseconds_t max_inframe_task_processing
Mximum task processing duration happening immediatelly after processing a frame. If this period expir...
core::nanoseconds_t max_frame_length_between_tasks
Maximum frame duration between processing tasks. If the frame is larger than this size,...
core::nanoseconds_t min_frame_length_between_tasks
Minimum frame duration between processing tasks. In-frame task processing does not happen until at le...
Various units used in packets.