Your above timeout set breaks the whole loop :).

What i meant by "bump the timeout instead" was, just increase the initial time to 30 seconds instead. I don't remember if the player support cancel in this startup phase, you can bump the initial time even larger.