private void interruptPlayback(PlayerState st) { if (state == st) return; PlayerThread th = currentPlayerThread.get(); if (th != null) { if (th.isAlive()) th.die(st); else if (currentPlayerThread.compareAndSet(th, null)) setStateNotify(st); } else setStateNotify(st); }