It happens that when the video finishes omxplayer is still alive for about 10+ seconds. After that time it exits and the finished signal is emitted by QProcess. Launching the very same command from console leads to the expected behavior (i.e. omxplayer exits immediately after the video has finished).