Covers first half of #171 which is simply an port of the functionality we used to have. Second half is actually taking advantage of playbin2 with respect to EOT handling etc.