Overview
Network settings control how TCP Streamer transmits audio data over the network. Proper configuration ensures stable, low-latency streaming even on challenging network conditions.Network Presets
One-click configurations optimized for common network scenarios. Presets automatically adjust multiple settings at once.Pre-configured network optimization profile
Ethernet (Stable)
Optimized for wired network connections with low jitter.| Setting | Value | Reason |
|---|---|---|
| Ring Buffer | 2000ms | Low jitter allows smaller buffer |
| Chunk Size | 512 samples | Smaller chunks for lower latency |
| Adaptive Min | 2000ms | Minimum buffer threshold |
| Adaptive Max | 6000ms | Maximum buffer threshold |
| Adaptive Buffer | Enabled | Automatically adjust to conditions |
- Computers connected via Ethernet cable
- Local servers on same subnet
- Low-latency music streaming
WiFi (Standard)
Balanced configuration for typical wireless networks.| Setting | Value | Reason |
|---|---|---|
| Ring Buffer | 4000ms | Handles typical WiFi jitter (10-50ms) |
| Chunk Size | 1024 samples | Balanced throughput and latency |
| Adaptive Min | 3000ms | Room for jitter absorption |
| Adaptive Max | 10000ms | Protection against WiFi congestion |
| Adaptive Buffer | Enabled | Adapts to changing WiFi conditions |
- Standard home WiFi networks
- Multi-room audio setups
- Typical office environments
WiFi (Poor Signal)
Maximum stability for challenging wireless environments.| Setting | Value | Reason |
|---|---|---|
| Ring Buffer | 8000ms | Absorbs high jitter and packet loss |
| Chunk Size | 2048 samples | Larger chunks reduce overhead |
| Adaptive Min | 5000ms | Higher baseline for poor conditions |
| Adaptive Max | 15000ms | Maximum protection against dropouts |
| Adaptive Buffer | Enabled | Responds to severe jitter spikes |
- Distant WiFi connections
- Congested 2.4 GHz networks
- Buildings with thick walls
- High interference environments
Chunk Size
The number of audio samples transmitted in each network packet.Network chunk size in samples (128-4096)
| Chunk Size | Packet Interval (48 kHz) | Use Case |
|---|---|---|
| 128 | 2.7 ms | Minimum latency, high overhead |
| 256 | 5.3 ms | Very low latency |
| 512 | 10.7 ms | Low latency, balanced |
| 1024 | 21.3 ms | Balanced (recommended) |
| 2048 | 42.7 ms | High stability, lower overhead |
| 4096 | 85.3 ms | Maximum stability, highest latency |
How Chunk Size Affects Performance
Smaller chunks (128-512):- Lower end-to-end latency
- More frequent network operations
- Higher CPU usage
- More overhead per audio sample
- Better for real-time applications
- Higher latency
- Fewer network operations
- Lower CPU usage
- Less overhead per sample
- Better for unreliable networks
Calculation
High-Priority Threading
Boosts the network thread priority for reduced jitter and more consistent timing.Enable high-priority scheduling for network thread
How It Works
When enabled, TCP Streamer requests maximum thread priority from the operating system scheduler:- Linux/macOS:
ThreadPriority::Max - Windows: High priority class
Effects
Benefits:- Reduces scheduling jitter (1-5ms improvement)
- More consistent packet transmission timing
- Better performance on loaded systems
- Slightly higher system resource usage
- May require administrator/root privileges
- Can impact other applications if system is under heavy load
When to Enable
On most modern systems with adequate CPU, high-priority threading provides minimal benefit. Test with and without to measure the difference.
DSCP/TOS Tagging
Differentiated Services Code Point (DSCP) marking for Quality of Service (QoS) routing.QoS marking strategy for network packets
Strategy Details
VoIP (Expedited Forwarding)
- DSCP Value:
0xB8(EF) - Binary:
101110 - Priority: Highest
- Recommended for: Real-time audio streaming
Low Delay
- TOS Value:
0x10(IPTOS_LOWDELAY) - Priority: High
- Recommended for: Interactive applications
Throughput
- TOS Value:
0x08(IPTOS_THROUGHPUT) - Priority: Medium
- Recommended for: Bulk data transfer
Best Effort
- TOS Value:
0x00 - Priority: Normal (default)
- Recommended for: No QoS requirements
Requirements
Configuration Example
Precision Pacing
TCP Streamer uses a Token Bucket algorithm for mathematically perfect transmission timing.How It Works
Benefits
- Eliminates micro-bursts: No sudden traffic spikes
- Drift-aware: Compensates for clock drift
- Sub-millisecond precision: Uses spin-loop for accurate timing
- Predictable bandwidth: Constant bitrate transmission
Precision pacing is always enabled and cannot be disabled. It’s a core component of TCP Streamer’s architecture.
Connection Management
TCP Keep-Alive
Automatically enabled for all connections:Write Timeout
All TCP writes have a 5-second timeout to prevent zombie connections:Reconnection Strategy
Exponential backoff with jitter:Real-Time Monitoring
TCP Streamer continuously monitors network quality and displays metrics in the UI.Quality Score (0-100)
Calculated every 4 seconds based on:-
Jitter penalty (0-50 points): Timing consistency
- Target: < 5ms jitter = 0 penalty
- Maximum: > 20ms jitter = 50 penalty
-
Buffer penalty (0-30 points): Buffer usage
- Healthy: < 80% usage = 0 penalty
- Critical: > 80% usage = max penalty
-
Error penalty (0-20 points): Connection errors
- No errors = 0 penalty
- 5+ errors = 20 penalty
Quality Ratings
| Score | Rating | Description |
|---|---|---|
| 90-100 | Excellent | Perfect conditions |
| 70-89 | Good | Minor jitter, stable |
| 50-69 | Fair | Noticeable jitter, may need adjustment |
| 0-49 | Poor | High jitter, frequent issues |
Jitter Measurement
Exponential Weighted Moving Average (EWMA) with 10-sample smoothing:If quality drops below 50, TCP Streamer will log a warning and suggest increasing buffer size.
Performance Optimization
For Wired Networks
For WiFi Networks
For Unstable Connections
Troubleshooting
High Jitter (>15ms)
Solutions:- Increase ring buffer duration
- Increase chunk size
- Enable high-priority threading
- Switch to wired connection
- Reduce other network traffic
Connection Drops
Solutions:- Enable auto-reconnect (see Automation)
- Check firewall settings
- Verify server is running and accessible
- Increase write timeout tolerance
Quality Score Below 50
Solutions:- Apply WiFi (Poor Signal) preset
- Enable adaptive buffer (see Advanced Settings)
- Check for network congestion
- Move closer to WiFi router
Related Settings
- Audio Settings - Configure ring buffer duration
- Advanced Settings - Enable adaptive buffer
- Automation - Set up auto-reconnect