WebRTC module

JitterBufferConfig

Receive-side jitter buffer behaviour for depacketized WebRTC media frames.

#include <icy/webrtc/jitterbuffer.h>

struct JitterBufferConfig

Defined in src/webrtc/include/icy/webrtc/jitterbuffer.h:30

The jitter buffer sits after libdatachannel depacketization and before icey emits encoded AudioPacket/VideoPacket objects to downstream decoders or recorders. It reorders frames by RTP-derived media timestamp and delays release long enough to absorb moderate network jitter.

Public Attributes

ReturnNameDescription
boolenabledFalse keeps the current zero-buffer receive path.
std::int64_tminDelayMsBase playout delay in milliseconds.
std::int64_tmaxDelayMsUpper bound for the adaptive playout delay.
doubleadaptiveFactorExtra delay multiplier applied to observed inter-arrival variance.
std::int64_ttickIntervalMsPoll interval for releasing buffered frames.

enabled

bool enabled = false

Defined in src/webrtc/include/icy/webrtc/jitterbuffer.h:32

False keeps the current zero-buffer receive path.


minDelayMs

std::int64_t minDelayMs = 20

Defined in src/webrtc/include/icy/webrtc/jitterbuffer.h:33

Base playout delay in milliseconds.


maxDelayMs

std::int64_t maxDelayMs = 120

Defined in src/webrtc/include/icy/webrtc/jitterbuffer.h:34

Upper bound for the adaptive playout delay.


adaptiveFactor

double adaptiveFactor = 1.5

Defined in src/webrtc/include/icy/webrtc/jitterbuffer.h:35

Extra delay multiplier applied to observed inter-arrival variance.


tickIntervalMs

std::int64_t tickIntervalMs = 5

Defined in src/webrtc/include/icy/webrtc/jitterbuffer.h:36

Poll interval for releasing buffered frames.