Revert Matroska MIME to 'video/x-matroska'.

If different clients are expecting different MIME times, the only
sensible solution is to use the one dictated by Matroska.

http://matroska.org/technical/specs/notes.html#MIME
Refs #8643
Fixes #10980
(cherry picked from commit 749ac86220f72887be1e3cb0fb2d84979ae639ef)
Add three missing SAR values defined in the H.264 spec to H264Parser::aspectRatio() fixes incorrect display aspect ratio for some videos and recordings.
(cherry picked from commit 0a56d7fe859df287437573f5035ca54cc1be19e8)
Calculate current playback position using frame count and frame rate.

According to Taylor Ralph, the code which uses timestamps is not
finished and shouldn't be used yet.  For one thing, it doesn't handle
discontinuities in the timestamps.

Note: timestamps are still used sometimes to calculate recording
lengths.  That will need to be fixed in a future commit.

(cherry picked from commit 286186281dcca4a3f25f591e6658310bc9d375fb)
Add check for 'No Cover' when applying coverart to videos.

This considers a 'No Cover' value properly as non-existent, when
importing data from a VideoGrabber search result, to allow a new
cover to be downloaded in it's place, rather than refusing to
overwrite an existing image.
(cherry picked from commit 2076d12a565e120b67ed25eb68181250cd2ffe59)
Add error handling for Frontend UPnP autodetection.

This adds an error handling block to UPnP detection of the Frontend
connection class, to allow the remainder of the list to be returned if
one machine responding to the query cannot be connected to.
(cherry picked from commit 8c9fc7a1d3e4730c06bc0abac66be548aacbc11b)
Add 'releasedate' to properties handled by Video.importMetadata()
(cherry picked from commit dbd7a9e47f1ffa003f0011cbf76359829eab2122)
Fix argument count error in MythBE.getConflictedRecordings().
(cherry picked from commit 272fb61b88522be3bf9d51510d3e0aaa882b36a2)
Fixes #10970. Fix StreamHandler restart race.

We wait for _running to be set to false, but we need the thread to be
in the finish state or QThread::start() will exit silently without
starting the thread. Since we're calling QThread::wait() we don't
really need the while (_running) loop at all in either Start() or
Stop(), so I've removed it. This race probably dates back to the
pthread->QThread porting.
(cherry picked from commit 7d01e691d2bb58ed7dcbbdcca93ec06dc3a7381b)
Refs #10948. Fully randomize EIT crawl start time.

The deadlocks we've been seeing here should be fixed now, but they
should have been rare to begin with due to randomization of the
EIT Scanning start time. But they were occurring at fairly high
frequency. It turns out we were not applying enough randomness when
there were multiple cards and we were also losing randomness after
the first recording on a tuner finished and we reset the clock.
(cherry picked from commit 0e5d159c6bc98ef29a7b6bb225b43492b45c37ac)
Setting VERSION to vv0.25.3
Setting VERSION to v0.25.3
Fix single episode grabber for season 0 specials.

This makes the check for arguments to grabInetref() look specifically
for None, rather than boolean False, to prevent false positives when
dealing with specials that have a season of 0.
(cherry picked from commit 7da754ad0d350988f324c239477a6587bf88ba1c)
Add reporting of logging volume to Smolt.

This reports the logging volume as a percentage of the total amount
stored in the database, for each urgency level. This is intended as a
simple metric to determine stability of MythTV, as higher counts of
higher urgency levels will indicate an increase in problems seen by the
user base.

(cherry picked from commit 5f90b1d62c4d692a6c23ae22ab2047db85e6572e)
Fix setting of values to Artwork property.

This makes the Artwork property derived from a MutableString rather than
a unicode type, allowing the setting of values to work properly, rather
than merely by chance, and correcting an issue where importMetadata
would not apply a coverart value to Video Library entries.
(cherry picked from commit e4b46f0cdc1a18ee5dca94e29229531d928a6dc1)
MythUI: Fix potential use after free when leaving a web page

It's not safe to delete a QNetworkAccessManager before the QWebPage it is being
used with since any outstanding QNetworkReplys will be deleted, causing
QWebPage to potentially access free memory.

Fixes #11168.
(cherry picked from commit 83e88bc0abe21f54daace479ac921c352710c9de)
Fixes #11061. Speed up TFW recovery after falling behind on writes.

Signed-off-by: Daniel Thor Kristjansson <danielk@cuymedia.net>
Fix immutable methods in Artwork class.

This fixes an issue with several immutable methods in the Artwork class,
inherited from the parent UserString class. As the Artwork class is
modified for use as a property, and not intended to be called directly
for storage of a string, the inherited UserString methods that returned
a new instance using the __class__ attribute would fail. This adds a
__new__ method that detects such uses and forces the call to return a
standard str type instead.
(cherry picked from commit 9f66fa0f9a4d9d759b9fdb44f411a4dc1a0748cb)
Use 'unicode' rather than 'str' for UTF8 compatibility.
(cherry picked from commit 0bc83db48ec08b8df576c6ecbf1049567d34ab7a)
Correct handling of Artwork when database field is set to NULL.
(cherry picked from commit 4646e7f56fc97f62d05d42b5896e8eceb361492e)
Tweak DictData behavior to properly function with Properties.
(cherry picked from commit 662b5e83cfa103fc3aed86c194b2fa2c6b9424d8)