Skip to content

Solves various ABR issues based on #1530.

Vinay Rosenberg requested to merge github/fork/dsparacio/#1530 into development

Created by: dsparacio

Added cache detection to TP rule, fixes issues with Abandonment rules. Fixes issues on transfer from cached to not cached sections of presentation. Solves major oscillation issue in TP rule. All changes were confirmed with the ABR testing tool.

For Oscillations we now have an algorithm to detect variation in the average array and will increase or decrease the sample amount based on variation.

Some results: BOLA vs Traditional after major improvements in both ABR.

ABR bola default rebuffers (low/other quality) 0 (0/0) 0 (0/0) average rebuffer seconds 0.000 0.000 up switches (in Mbps) 4 (70.582) 9 (34.184) down switches (in Mbps) 6 (56.410) 5 (25.030) oscillations within 10s 9 1 average bitrate in Mbps 11.222 10.724 count q=0 (0.254Mbps) 0 0 count q=1 (0.507Mbps) 2 0 count q=2 (0.760Mbps) 1 1 count q=3 (1.013Mbps) 0 1 count q=4 (1.255Mbps) 0 0 count q=5 (1.884Mbps) 0 0 count q=6 (3.134Mbps) 2 1 count q=7 (4.953Mbps) 8 5 count q=8 (9.915Mbps) 27 45 count q=9 (14.932Mbps) 36 22

Cache Pollution solution. We now keep a last load if cached measurement VS the aver thoughput array. This allows ABR to still switch up if chunks are cached but will react much quicker once not cached. It will also allow us to not switch up if a few cache chunks skew the average.

Average Time

1468109 0.037 1468109 0.033 1468109 0.025 1468109 0.034 1468109 0.04
1468109 1.026 752526 1.061 FALSE reading 516388 1.025 FALSE reading 41997 0.836 43450 0.871 44535 0.946


1575767 33.001 1505165 34.001 1475513 26.001 1528010 30.001 -- NON CACHED CHUNKS - Immediately shows accurate info with no step down. 20784 2186.001 20769 1941.001 20780 1977.001 20764 2326.001 20778 1914.001 20779 2069.001

Merge request reports