SignalMonitor: Timeout if we don't get a lock in a reasonable amount of time.
(cherry picked from commit 6bae400b0bbeb539e6e9390517e1a90f8f6f13d4)
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.
(cherry picked from commit 87a15e1ce40d81058ff221308d666d73b1517ff2)

Conflicts:
	mythtv/libs/libmythtv/dtvrecorder.cpp
	mythtv/libs/libmythtv/recorders/iptvrecorder.cpp
	mythtv/libs/libmythtv/recorders/iptvrecorder.h
Cleanup some useless "discontinuity detected" messages following 87a15e1ce

Closes #11328
(cherry picked from commit efc1e46a8a2d913a8070483178ca46293f0a4423)
dtvrecorder: Don't try to buffer frames for audio-only streams.
(cherry picked from commit 0d9312df1dd3ed2a2da40edce1bbaae5b90c9944)

Fixes #11442
Fix missing copyrightlogo widget in Terra. No-one noticed mythweather was broken with Terra for over 6 months ...
(cherry picked from commit 23c0f7435df1cf8f146459b18a45955fc32da3b6)
Apply the pixel aspect ratio, if available, to aspect ratio calculation.

This only applies to mpeg2 video. Refs #11406.
Sync libdvdread to R1250:

* Accommodate duplicate language units and pgcs (avoid potentially consuming large amounts of memory)
* Fix a segmentation fault by preventing a read/write beyond end of an array due to using a length value taken from the DVD, which can exceed the allocated size.

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
(cherry picked from commit 15a062f5ef22be1f8eefa9e8d300d18f8a54996b)
Sync libdvdnav up to R1251.

* Fix failed assertion when there's no menu.
* Make sure we get nav packets for all cells in multi angle features
* Fix strict aliasing warnings.

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
Use the correct index for program.previouslyshown in the query result.

Signed-off-by: Jim Stichnoth <jstichnoth@mythtv.org>
OpenGLVideo: Fix a double free in AddFilter() when OptimiseFilters() fails

Fixes #11430
(cherry picked from commit 5769dca4c4ed442b62741e9abeeb2e3490d9b909)
MythUI: Fix use after free in MythUIEditBar

The call to ReleaseImages() in MythUIEditBar's dtor caused a free memory read
since SetRedraw() accesses its parent whose dtor has already been called.

Calling ReleaseImages() from MythUIEditBar's dtor also isn't necessary since the
images in m_images are children of MythUIEditBar and are automatically deleted
by Qt.

Fixes #11458, Refs #11402
(cherry picked from commit 6e0f69dca6a554f4baf0fe8f9226458d36c459c7)
MythMusic: Add missing default 4:3 stream-ui.xml theme file

Fixes #11369.
Change MythDate::toString() to return an empty string for invalid inputs.

Cherry picked from master for fixes/0.26.

It's possible a "0000-00-00 00:00:00" might be somewhat acceptable in
some rare cases because the all 0s value obviously represents a
special value.  The UTC to local conversions added in 0.26, however,
now causes it to change to a less obviously special, and perhaps even
misledaing, not all 0s value.  Since MythDate::toString() was a
Myth-specific replacement for QDateTime::toString() and
QDate::toString() and those functions return an empty string for
invalid inputs, we probably should too.

Refs #11405 .
Enable proper display of elapsed time when paused with VAAPI.

Make sure av_pause_frame is updated so that the player can pick up the
current frame number while paused.  Refs #10962
(cherry picked from commit 841ff3a359ce668eb51ef1da917ffab5a0932302)

Conflicts:

	mythtv/libs/libmythtv/videoout_openglvaapi.cpp
Fix auto-width calculation in mythtranscode.

Issue discovered, corrected, and tested by 'rich0' in IRC.  Thanks.
(cherry picked from commit effae2211cea71bf9e954d7e99cbce39b3d38f0c)
Change PlaybackBox group and password popup handling to be more sane.

Backport from master to fixes/0.26.

If an invalid password is entered, the password popup is reshown.  If
the password popup is aborted and was entered from the group popup or
is the initial group, the group popup is reshown.  If the group popup
is aborted and was entered because of the QueryInitialFilter setting,
the PlaybackBox screen is closed.

Refs #11231
MythCenter/MythCenter-wide: Tidy up the 'Program Details' screen

Fix the position of the browser in MythCenter.
Make sure the font used in the browser is sans-serif to better match the theme.

Fixes #10614.
MythCenter-wide: Fix the width of the priority text on the channelrecpriority screen

Fixes #10643. Thanks to Rick Scott for the original patch.
MythMusic: add the notracks text area to the playlist editor screen
MythMusic: fix the notracks text not always showing/hiding when it should

This fixes a problem with the "You haven't selected any tracks to play" text
not updating properly when adding or removing single tracks from the active
playlist.

Also work around a bug in MythUIButtonlist not removing the last item properly.
(cherry picked from commit 088d684558a3197b022695e39b3c50d89bca92f7)