Fix the timer that periodically saves the seektable delta.

After 309c97e3001b7b2748c42564d5b93b923d00a171 and related commits,
the positionMapTimer never actually got started, and seektable updates
weren't written out until the recording ended.  This affected seeking
in live TV and in-progress recordings, and because the file size
wasn't being updated either, it actually prevented starting playback
of in-progress recordings.
Avoid segfaulting with -v playback when m_positionMap is empty.
MythZoneminder: Make sure the connection to the server is shutdown on FE exit

This fixes a 'Not all threads were shut down properly' error when shutting
down the frontend.

Fixes #11340.

Signed-off-by: Daniel Thor Kristjansson <danielk@cuymedia.net>
Subtitles: Add manual synchronization of text subtitles.

Adds an OSD dialog, similar to Adjust Audio Sync and Adjust Subtitle
Zoom, to offset the presentation of text subtitles by a value between
-5 and +5 seconds.
SignalMonitor: Timeout if we don't get a lock in a reasonable amount of time.
Updated Spanish/Spain MythFrontend, MythArchive and MythMusic translation
from Antonio Marcos Lopez Alonso

Thank you Antonio!

Closes #11401

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>
Improved cropping of the bottom 8 lines of 1088-line video.

Refs #11358.  Reverts 9d9de7b75d5354c9130526311a0c74d7172ebe6d and
cleans up the bottom 8 lines by applying a crop filter to the source.
This is tested for the XVideo output method.

The VDPAU output method does not use the standard filter mechanism,
but it works fine on 1088-line video until the h.264 parser thinks the
resolution has changed from 1080 to 1088 lines.  To compensate, we
don't acknowledge a resolution change when this happens.
DTVRecorder: buffer up each payload until we know if the payload is a
keyframe.

Especially with H.264, we can be several packets into a payload before we
know if it is a keyframe or just a frame or something else.  Always buffer
the packets of a payload until we know what we are doing with the payload.

If we need to switch ringbuffers, we now do it so the new file will start at
the beginning of the payload holding a keyframe.  Each file will also start
with a PAT/PMT if the "recorder" calls for it.