Skip to content

Commit 51d5dcc

Browse files
committed
Reduce traffic smoothing window size
This matches WebRTC which uses 5ms as described in: https://tools.ietf.org/html/draft-ietf-rmcat-gcc-02#section-5 Now instead of sending a large burst and then waiting 100ms before starting to trickle out packets, we will send a very small burst and start to trickle packets after 5ms. This may result in medium size video frames taking longer to send but overall traffic will be smoother and raising the allowed peak send bandwidth should more than make up for the smoothing delay on networks that can handle it. This new behavior seems to perform better in all situations. If you have a fast connection your peak kbps will be much higher than the video kbps and only minimal smoothing will be applied. If you are streaming at close to the speed of your connection then significant smoothing will be applied to keep within your network's capability. Doing this smoothing at the application level is preferred with RTP over trusting the user's router and connection to handle large bursts of packets.
1 parent 92c4adc commit 51d5dcc

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

libftl/ftl_private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
#define NACK_RTT_AVG_SECONDS 5
7070
#define MAX_STATUS_MESSAGE_QUEUED 100
7171
#define MAX_FRAME_SIZE_ELEMENTS 64 //must be a minimum of 3
72-
#define MAX_XMIT_LEVEL_IN_MS 100 //allows a maximum burst size of 100ms at the target bitrate
72+
#define MAX_XMIT_LEVEL_IN_MS 5 // allows a maximum burst size of 5ms at the peak bitrate
7373
#define VIDEO_RTP_TS_CLOCK_HZ 90000
7474
#define AUDIO_SAMPLE_RATE 48000
7575
#define AUDIO_PACKET_DURATION_MS 20

0 commit comments

Comments
 (0)