dvdplayer: align HasAudio with HasVideo
Merge pull request #2446 from FernetMenta/hasaudio

dvdplayer: align HasAudio with HasVideo
[rbp/omxplayer] sync up with dvdplayer master changes
[rbp] Check free memory, and if plenty use full size buffers for reading files

omxplayer has used a quarter sized video buffer and a half sized audio buffer for the file reading message queue, compared to dvdplayer.
This is required on 256M boards, but is unneccessary on 512M board. So we query the free memory and use full size buffers if there is plenty.
Revert "[rbp] Always use the aspect ratio from file."

This reverts commit 7f5d3ede514f30552e42464c29227d570b38ed8a.
[rbp] Set mediatime on GPU after a seek.

Currently after a seek, the mediatime doesn't update until an audio and video packet have been fetched from demuxer, and been decoded. For HD content this can take a second or two.
This has a couple of undesirable effects:
The seek time that pops up after a seek initially shows the before seek time, and the file progress bar is laggy.
If you seek a second time, before the time has updated, it will use the before seek time, and the second seek has no effect.
This limits a sequence of seeks to a maximum of about 1 every second or two.

The fix udpates the GPU mediatime immediately after the seek, so the mediatime is correct immediately which fixes the undesirable behaviour.
[rbp] new scheme for handling stalling and buffering

There's two types of under run that can occur on Pi in xbmc:
1. Unable to stream fast enough (e.g. wifi + hdmi audio passthrough)
2. Lack of CPU (e.g. wired ethernet + software DTS)

The first behaves well, and xbmc buffers for a number of seconds giving the buffers a chance to fill up.
The second case behaves less well. It doesn't go into buffering mode and just continuously stutters.

This patch makes both cases buffer. It also means we start paying with a full buffer of decoded audio which should maximise the time until we under run (which could avoid buffering at all on a marginal file).
It also fixes a bug where m_endtime was used without being initialised which meant we left the stall state early.
[wip] hacking around 2