Merge branch 'masterclock' into dvdrefactor2
dvdplayer: drop StreamLock section that doesn't protect anything anymore
dvdplayer: drop unused last sub variable
dvdplayer: drop some old OnExit debug logs
dvdplayer: drop parameter from CheckPlayerInit that is part of other
dvdplayer: factor out check for selected stream
dvdplayer: add wrapper around Open(*)Stream based on CCurrentStream

This allows several code deduplifications.
Revert "[pvr] provide fps hint from pvr demux if available"

Hints is already filled with rate/scale from the construction
of the hints object from the stream.

This reverts commit dd237e82e0149d305fd0886485dc78252389ee16.
dvdplayer: move sync after clock switch to UpdateClockMaster
dvdplayer: factor out common code from Open(*)Stream
dvdplayer: factor better stream checks
dvdplayer: factor out stream change detection
dvdplayer: make sure we setup changes variable properly on open
dvdplayer: add generic interface to dvdplayer stream players
dvdplayer: generalize Close(*)Stream functions
dvdplayer: factor out part of openstream code
dvdplayer: let Discontinuity function take absolute timestamp and log

This allow caller to re-use timestamp that calculations where made on
to reduce effect from task scheduling and avoid logging corrections done.
dvdplayer: use master clock as basis for player to sync clock

TODO: move this into the players so they check on reception of packet
if they are the master of the clock.
dvdplayer: don't signal audio started before we have output a packet