First, it's unclear which Processing version and thus video library you use, but if you are using 2.0b9, then perhaps you can file this as an issue on GitHub.
Second, you only need to call play() once in setup(), not over and over again.
Third, as a workaround you can store time in a variable previousTime and compare it with the current time. If they are equal (as you see at the end), then the movie has reached the end.
Second, you only need to call play() once in setup(), not over and over again.
Third, as a workaround you can store time in a variable previousTime and compare it with the current time. If they are equal (as you see at the end), then the movie has reached the end.