Fixes #11072.  Improve cc708 thread safety.

There still appear to be potential race conditions, which can be fixed
by adding more locking.  However, this will have an unknown
performance impact, so we'll address it after the release.
Refs #10984.

Signed-off-by: Jim Stichnoth <jstichnoth@mythtv.org>
Reinitialize database session variables when reconnecting.

The session variables weren't being set when we reconnected after a
database connection went stale and led to problems.  For example, the
timezone was not being set to UTC and caused serious scheduling
problems for users in far eastern time zones.  Thanks to Adrian Saul
for initially spotting and then tracking down the problem.

Fixes #11086
Add three missing SAR values defined in the H.264 spec to H264Parser::aspectRatio() fixes incorrect display aspect ratio for some videos and recordings.
Force proper typing on user input to datetime attributes.

This adds a catch in the DictData and DBData classes and derivatives to
process user input into the modified datetime class, and ensure proper
time zone handling. Previously, naive information from the user would be
passed through directly to the database.
Reorder zoneinfo processing to ensure all transitions are handled.

This reorders the transition index lookup to ensure that all timestamps
are referenced, or an error is thrown, rather than silently erroring at
some later point.

Refs #11093
Add better handling of simple zoneinfo files.

This adds support for timezones with no defined transitions (UTC), and
ones that define a single transition for a simple offset. This also
improves the normal search function to properly handle dates that fall
to the future of the last transition point, and thus cannot be
bracketed. Dates in the past before the first transition point give a
more descriptive error.

Fixes #11093
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.
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.
Fix incorrect strings in frontend standy screen. Fixes #11101

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
Ensure proper timezone handling of data passed to update() and create()

This ensures data passed directly into the .update() and create()
methods of a DBDataWrite class is properly made timezone-aware by
converting to the modified datetime class, before being pushed to the
database.
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.
Add 'releasedate' to properties handled by Video.importMetadata()
Updated Chinese/Hong Kong MythFrontend translation
from Walter Cheuk

Thank you Walter!

Closes #11006

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>
Updated Italian MythFrontend translation
from Morris Cavestro

Thank you Morris!

Closes #11107

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>
Merge branch 'master' of code.mythtv.org:mythtv
Fix argument count error in MythBE.getConflictedRecordings().
One last exceptional theme string update.

A message will be sent on the translators mailing list about it.
An updated string that was missing in 57a493cbf511e11d15cb36113a99e2aac2a9ce9e.
Replace the master version of the Blue-Abstract theme description with
the 0.26 one.
One last entry I forgot to manually apply (the patch has not yet been
applied to the location where we fetch our copy of the themes).