Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reduce traffic smoothing window size
Now that we correctly use the peak bitrate for traffic smoothing, we need to be more careful to not exceed that bitrate. This reduces our max burst size significantly to achieve that. For frames larger than would have fit in the 100ms burst window this change does not significantly change behavior except instead of sending an initial burst and then trickling out packets we now send a tiny burst that is 1/10th the size and then trickle. The overall send time for the frame should remain the same. For frames small enough to fit in the 100ms burst window but too large to fit in a 10ms burst window this change does impact behavior, the send will be smoothed out and the frame may take a few extra milliseconds to send. In the worst case, instead of a frame being sent in one big burst at the start of the 100ms burst window, it will now be smoothed out over 100ms. 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.
- Loading branch information