[rbp/omxplayer] Update pts on resync message

This was remove in #2853 and is still required for avi streams with all frames having pts=DVD_NOPTS_VALUE
[ffmpeg] Add armv6 optimised path to dts decode
[rbp/omxplayer] Remove fixPreroll parameter

The preroll only affects when the clock component starts. It doesn't affect the reported timestamps,
so adjusting timestamp by the preroll is incorrect
[rbp/omxplayer] Make audio_render configurable as the clock master

By default audio_render is the clock master, and if output samples don't fit the timestamps, it will speed up/slow down the clock.
This tends to be better for maintaining audio sync, but does affect video/display sync, and when enabled some receivers can suffer drop outs.
The other option makes audio_render the clock slave, and it has to drop packet or output silence to maintain sync.

It can cause audio dropouts (unfortunately it does for me on my Onkyo 609, although I couldn't reproduce it on any other system).

As both settings have some advantages, and as this mode more accurately defines whether playback is synced to display, or audio,
I've used the GUI setting "sync playback to display" to control this.

The previous use of "sync playback to display" didn't have any benefits, and was never recommened.
[rbp/omxplayer] Move buffering decision out of OMXPlayerAudio

This gets the m_stalled behaviour closer to dvdplayer which may help live tv issues.
The buffering will be re-added at a higher level from omxplayer
[rbp/omxplayer] Move buffering to omxplayer level

We wait to pause the clock when the queue of audio data to GPU is dangerourly low to avoid stuttering audio.
Better to pause for a few seconds and then play some intelligible audio, than to continuously underrun.
[rbp/omxplayer] Move the buffer of the decoded audio to output port

The buffers between host and gpu components are duplicated, so 2 seconds of 8 channel 48kHz audio requires 3MB.
That memory is required on both host and gpu. We want this buffering to provide protection from underrun when the arm is busy.

By moving the majority of the buffering from omx_decoder's input to output port, we save that memory on the arm.
Also the output port is 16-bit integer, rather than float, so we halve the size in addition.
[rbp/omxplayer] Support frame advance (single step) with right arrow when paused
[rbp/omxplayer] Remove unsused function OMXStart
[rbp/omxplayer] Remove clock manipulation from a/v players
[rbp/omxplayer] Move start flags out of clock component

Keep track of start flags locally. I believe the behaviour is unchanged.
[rbp/omxplayer] Remove flush of video codec when audio codec changes

I believe this was added to work around a race condition that is no longer present.
It discards video and results in a corruption until the next I frame.
[rbp/omxplayer] Reduce the size of preroll

The preroll defines how much earlier the clock starts compares to timestamps of audio/video.
This needs enough time for GPU side worst video/audio decode/schedule/render.
This should never be more than 200ms.

This makes playback start and seeks 600ms more responsive which is noticable when seeking through a video.