setMinAllowedBitrateFor not working as expected
Created by: AxelDelmas
Tested on dash.js 2.5.0, using this setting does not prevent downswitches blow the specified minBitrate in autoswitch mode.
The only place this setting is used in ABRController is in getMaxBitrate: https://github.com/Dash-Industry-Forum/dash.js/blob/development/src/streaming/controllers/AbrController.js#L559
This method is used in getTopQualityIndexFor which in turn is only used to cap the quality: https://github.com/Dash-Industry-Forum/dash.js/blob/development/src/streaming/controllers/AbrController.js#L368-L370
It does not seem to be used to enforce a minimum quality anywhere.
Also, getQualityForBitrate
is used to find the quality index matching the specified min bitrate. This may have unexpected results as this loop will return the highest quality whose bitrate is inferior or equal to the specified minBitrate. Let's say I have two qualities 600kbps and 1000kbps, and I specify a minBitrate of 800kbps, this method will return the index of the 600kbps quality, whereas as a user I would expect the actual min bitrate to be the 1000kbps quality.