sample hasEnded()