Class TeeQueueSettings
- Namespace
- VisioForge.Core.Types.X.Special
- Assembly
- VisioForge.Core.dll
Settings for the queue elements used in Tee splitter. Controls buffering behavior for each tee output.
public class TeeQueueSettingsInheritance
Inherited Members
Properties
FlushOnEos
Gets or sets a value indicating whether to discard all data in the queue when an EOS event is received. GStreamer default is false.
public bool FlushOnEos { get; set; }Property Value
Leaky
Gets or sets where the queue leaks, if at all. GStreamer default is No (queue blocks when full).
public TeeQueueLeaky Leaky { get; set; }Property Value
MaxSizeBuffers
Gets or sets the maximum number of buffers in the queue. Set to 0 to disable buffer count limit. GStreamer default is 200.
public uint MaxSizeBuffers { get; set; }Property Value
MaxSizeBytes
Gets or sets the maximum amount of data in the queue in bytes. Set to 0 to disable byte limit. GStreamer default is 10485760 (10 MB).
public uint MaxSizeBytes { get; set; }Property Value
MaxSizeTime
Gets or sets the maximum amount of data in the queue in nanoseconds. Set to 0 to disable time limit. GStreamer default is 1000000000 (1 second).
public ulong MaxSizeTime { get; set; }Property Value
MinThresholdBuffers
Gets or sets the minimum number of buffers required before allowing reading. Set to 0 to disable. GStreamer default is 0.
public uint MinThresholdBuffers { get; set; }Property Value
MinThresholdBytes
Gets or sets the minimum amount of data in bytes required before allowing reading. Set to 0 to disable. GStreamer default is 0.
public uint MinThresholdBytes { get; set; }Property Value
MinThresholdTime
Gets or sets the minimum amount of data in nanoseconds required before allowing reading. Set to 0 to disable. GStreamer default is 0.
public ulong MinThresholdTime { get; set; }Property Value
Silent
Gets or sets a value indicating whether to suppress queue signals. GStreamer default is false.
public bool Silent { get; set; }Property Value
Methods
Default()
Creates default settings optimized for media pipelines.
public static TeeQueueSettings Default()Returns
- TeeQueueSettings
-
Settings optimized for media pipeline queues.
Remarks
Limits applied:
-
MaxSizeBuffers = 200— belt-and-braces upper bound that stops a misconfigured pipeline from growing the queue without limit, regardless of per-buffer size. -
MaxSizeBytes = 0 (disabled)— byte limits are format- dependent in ways that are almost always wrong. A 10 MB cap drops every raw 1080p frame (~8.3 MB) but is effectively unlimited for an H.264 stream (5–50 KB/buffer); the same numeric value cannot serve both. Buffer-count and time bounds are format-agnostic and provide the real ceiling. -
MaxSizeTime = 2 s— primary latency bound for live recording / monitoring paths. Tight enough that A/V drift stays bounded after a brief consumer-side hiccup (GC pause, disk-write spike, USB-bus stall), wide enough not to drop buffers under normal scheduler jitter.
LowLatency()
Creates default settings optimized for low latency.
public static TeeQueueSettings LowLatency()Returns
- TeeQueueSettings
-
Settings configured for minimal buffering.