Small optimisation of FileRingBuffer::GetRealFileSize

If file is already opened, no need to use QFileInfo
Fix seek when close to end of program

When seeking repeatedly close to the end of the program in liveTV, it would cause playback to jump immediately to the next program.
The cause was RingBuffer:: IsNearEnd didn’t report if we were close to the end of the file, but if there was little left to read in the ringbuffer. However, when seeking the buffer can be emptied, causing IsNearEnd to always return true
Additionally, with very low bitrate stream (like with the HLS recorder), we could sometimes miss over significant length of video.

A positive side effect is that there’s now no pause whatsoever between two liveTV program,s at worse about 20 frames dropped.

Ref #12076