Passing a negative value to the player.seekTo() function makes the ExoPlayer puts itself in a "pause" state and it never re-positions the playhead to 0 seconds. Still, we can see that the seek command is executed in the logcat.
To reproduce this we can use the Exo demo app. In the PlayerActivity set a delay of, could be 10 seconds, and then execute a player.seetTo(-3000). Then the video will pause, the current position label will be at -0:00 but the Play/Pause button will stay as playing, and nothing else will happen.
There is no error message returned/thrown by the ExoPlayer nor printed in the logcat.
This is only with HLS videos. DASH and SmoothStreaming videos work fine.
Could you take a look, please?