Found an issue with current XHR throughput calculation
Progress event is used, "firstByteDate" is set to timestamp of first progress event. By then already some bytes have been received. The timestamp does not account for those bytes since firstByteDate is used as the starting timestamp. See slides for detailed explanation: https://members.dashif.org/wg/dash_js/document/4682
Currently, reworking code structure for throughput calculation and adding new calculation methods
Split storing of traces and concrete calculation into ThroughputModel and ThroughputController classes
Harmonic mean (new), Arithmetic mean, Exponential Weighted Moving Average
Any other method? LSTM (Long short-term memory)?
Timeout should be relative to segment duration
Abandon segment download before running into an empty buffer