Refactor playback init checks into an event instead of a critical section

Its enough to wait for the action to finish, we don't need to lock code
execution.
Wait for the seek to finish before returning to the caller.