Subtitles: Fix cc608 indents.

The original code was trying to be clever and indent one character
less than intended presumably to account the extra space character
that control codes also imply, but it's not clear that was ever an
appropriate thing to do.

Thanks to faginbagin@ for identifying the problem and the fix.
Refs #12051.
(cherry picked from commit 7d60440b2d790208a25ce707480f5b01657410f1)
Subtitles: Avoid trying to draw empty text or background objects.

Cherry-picked / adapted from 203db78ed2c8e9d59159d970b1eb89b5764a79f3.

Refs #12056
Captions: Delete *all* cc708 windows in CC708Reader::Reset().

Refs #12227.

Signed-off-by: Jim Stichnoth <jstichnoth@mythtv.org>
(cherry picked from commit e97f4f59806a32421a2d2ab4c79549286c56b6ab)

Conflicts:

	mythtv/libs/libmythtv/cc708reader.cpp
Attempt to fix segfault in EITCache assumed to be due to QMap race

Fixes #12219
(cherry picked from commit 477c3f2b1cd3bcb38c5cfd9a3a934a95e1a13beb)
Make seeks faster for slow decoders / large keyframe distances.

Exact seeking for HD-PVR recordings can be notoriously slow because
the keyframe distance is 128 frames and decoding (even GPU hardware
decoding) is often little faster than real-time.

In most cases, it's a much better user experience to make a less
accurate but much faster seek to the preceding keyframe.

There are two changes:

1. Impose a maximum wall-clock time on the forward frame-by-frame
seeking.  After this maximum time elapses, abort any further frame
seeking.

2. In addition, try to predict whether fully accurate seeking will
complete within a reasonable time, and if after a few frames it seems
hopeless, just don't bother seeking any further.

This approach allows fast decoders and video formats amenable to fast
decoding to continue to have exact seeking.

Fixes #12004.
(cherry picked from commit 33acfaf30747592b9fca0913b2c2f8832418d618)
Merge branch 'devel/027candidates' into fixes/0.27
Revert "Player: Finer a/v sync adjustments"

This reverts commit f8d72280ccb3ec28391182cf6eaaf20c9c87ae4f.

(cherry picked from commit d08503e30ccaa188ae27dad49ab67c343881db87)
Revert "Player: Enable AVSync to recover quicker after a seek or program change"

This commit broke audio or frame rate change detection following a seek or channel change

This reverts commit 195eb07fb106fbabf164a1989860adcc132ab9d2.

(cherry picked from commit 0128796ef424552fb9af4c92c2ac05d2436b36b9)
Revert "TV UnpauseLiveTV calls tvchain->SwitchTo opposed to JumpTo to minimise visible disruption"

This commit broke LiveTV channel change

This reverts commit bfc6b9ed58029955d5a4230cad5851ed4848ed20.

(cherry picked from commit 0f11604dd8429c9b6be847703898e9d4a55bb86e)
RingBuffer: Properly wait for readahead thread to start

Inverted test, no wait occurred causing a race condition later on which causes failures in LiveTV, usually when changing channels

(cherry picked from commit 6b29f598776f8a2ecba09674b4c900ce0fb1fe7f)
RingBuffer: always read directly from file if read ahead thread isn’t running

readInternalMode can only work if the read ahead thread is running

(cherry picked from commit 0641cd9ac3eb142f239b70085bac459f3694eadd)
Fix channel detection.

Use new request_channel_layout API

Fixes #12244

(cherry picked from commit cf65b55fe4b11219e1ca6ec80c33debc69b344a2)
Have info and playback screen show proper number of channels

(cherry picked from commit bade69e7a16f64049efa8c16dfda508484a1ada1)