brought in some code for PlayerWithControls - supporting variable speed playback