From the ExoPlayer Event Tracking Log:
ExoPlayer currently selects the first option specified in the main playlist. If I remember correctly, this is what Apple recommends / indicates the correct client behavior. If you want to start at the lowest quality, you must technically have your server generate the main playlist with the lowest quality specified first.
The foregoing, we agree that it makes more sense for the client to make the choice of the source option locally, as opposed to the recommended behavior. We will move HLS to use FormatEvaluator in ExoPlayer V2, which will give more control over the initial selection (and over the adaptive algorithm in general).
And as a solution, this comment:
Take a look at AdaptiveTrackSelection.Factory. Its settings can provide enough customization for your case.
I think this should give you either the answer you need, or it will help you in the right direction.
Please note that you must provide lower quality streams in order to be able to use this. If you ONLY have video in HD, ExoPlayer cannot reduce the video , this is not its work, not what it is intended for. ExoPlayer can only synchronize and allow a smooth transition between videos in multiple resolutions when they are provided.
Chapz
source share