12 #ifndef ROC_PIPELINE_CONFIG_H_
13 #define ROC_PIPELINE_CONFIG_H_
43 audio::ChanMask_Surround_Stereo);
Sample specification. Describes sample rate and channels.
ResamplerBackend
Resampler backends.
@ ResamplerBackend_Builtin
Built-in resampler. High precision, high quality, slow.
@ ResamplerBackend_Default
Default backend. Resolved to one of other backends, depending on what is enabled at build time.
@ ChanLayout_Surround
Multi-channel mono / stereo / surround sound.
@ FreqEstimatorProfile_Responsive
Fast and responsive tuning. Good for lower network latency and jitter.
ResamplerProfile
Resampler parameters presets.
@ ResamplerProfile_Medium
Medium quality, medium speed.
@ ChanOrder_Smpte
ITU/SMPTE channel order. Order: FL, FR, FC, LFE, BL, BR, BC, SL, SR, TFL, TFR, TBL,...
const nanoseconds_t Millisecond
One millisecond represented in nanoseconds.
const nanoseconds_t Microsecond
One microsecond represented in nanoseconds.
int64_t nanoseconds_t
Nanoseconds.
const core::nanoseconds_t DefaultPacketLength
Default packet length.
const core::nanoseconds_t DefaultLatency
Default latency.
const size_t DefaultSampleRate
Default sample rate, number of samples per second.
@ PayloadType_L16_Stereo
Audio, 16-bit samples, 2 channels, 44100 Hz.
Commonly used types and functions.
Parameters for latency monitor.
void deduce_latency_tolerance(core::nanoseconds_t target_latency)
Automatically deduce latency_tolerance from target_latency.
FreqEstimatorProfile fe_profile
FreqEstimator profile.
bool fe_enable
Enable FreqEstimator.
Profiler Configuration Parameters. Controls profiling interval and duration of each circular buffer c...
void deduce_no_playback_timeout(core::nanoseconds_t target_latency)
Automatically deduce no_playback_timeout from target_latency.
Receiver common parameters.
bool enable_auto_reclock
Automatically invoke reclock before returning frames with invocation time.
bool enable_beeping
Insert weird beeps instead of silence on packet loss.
bool enable_profiling
Profile moving average of frames being written.
bool enable_timing
Constrain receiver speed using a CPU timer according to the sample rate.
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.
unsigned int payload_type
Packet payload type.
audio::ResamplerProfile resampler_profile
Resampler profile.
void deduce_resampler_backend()
Automatically deduce resampler backend from FreqEstimator config.
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.
bool enable_auto_cts
Automatically fill capture timestamps of input frames with invocation time.
TaskConfig tasks
Task processing parameters.
audio::ProfilerConfig profiler_config
Profiler configuration.
bool enable_interleaving
Interleave packets.
core::nanoseconds_t packet_length
Packet length, in nanoseconds.
bool enable_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.
unsigned payload_type
RTP payload type for audio packets.
bool enable_timing
Constrain receiver speed using a CPU timer according to the sample rate.
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...
audio::SampleSpec input_sample_spec
Input sample spec.
audio::SampleSpec output_sample_spec
Output sample spec.
audio::ResamplerBackend resampler_backend
To specify which resampling backend will be used.
bool enable_profiling
Profile moving average of frames being written.
audio::ProfilerConfig profiler_config
Profiler configuration.
audio::ResamplerProfile resampler_profile
Resampler profile.
Various units used in packets.