MythMusic: Pass the full filename to TagExists() in Metadata::getTagger()

This fixes a bug when reading the metadata from flac files with ID3 tags.
(cherry picked from commit 459e806faf5fe60adbfa42f22f1f1ceddafd56e3)

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
(cherry picked from commit 8c48b71821267f6b1c1374ad07911a6b9cced2c0)
Add missing break statement in PlaybackBox::ShowAvailabilityPopup(). Caught by Coverity.
(cherry picked from commit 9d843edc58edd921b17d4b3b374056451af72536)
Fix assumption that ints would be initialised to zero in JobQueueEntry, this isn't the case with C++. It appears that this would have caused any job that didn't include a chanid to abort even though the code indicates that it's perfectly valid to have a job which doesn't operate on a recording and wouldn't require the chanid. I don't know enough about the intended behaviour to say whether this will fix a user-visible bug ... Discovered by Coverity.
(cherry picked from commit e84a3aaa2e1f4f744d08e31809ec1852429b7af5)
Fix assignment where comparison was intended in FreeSurround::getLatency(). Caught by Coverity
(cherry picked from commit c85ed06d244eaf02b29771d5122166e3d8ef19be)
Fix CID 700722: Allocation too small for string (Coverity) in AudioOutputPulseAudio::ChooseHost()
(cherry picked from commit 389ba609a553688417ccf2b1a8f3863ffc919bf4)
Use the correct delete for the array pulse_host. Reported by Coverity.
(cherry picked from commit e70e1e6b9ba33c258f610880c59e827840e6e88f)
Add a playback OSD menu option to cancel an in-progress playlist.

Previously, the only way to stop playlist playback was to execute a
jump point, as EXIT simply moves to the next playlist item.  Now, the
playback OSD menu, "Playback" submenu, has a "Cancel Playlist" entry,
with the effect that when playback ends, it returns to the Watch
Recordings screen instead of the next playlist entry.

Note: This adds a currently untranslated string to the Playback
submenu of the playback OSD menu when a playlist is active.

(cherry picked from commit 3bbf624ea685dacef29ec164cdb05a54627e62c0)
Remove the broken "Expire in deleted order" setting.

Unfortunately, this setting has been broken since the day it was
committed.  When disabled, this setting could cause non-deleted
programs to be expired before deleted programs when the Auto
Expirer was trying to free up disk space.  The desired effect
of the setting is now already handled by default, expiring deleted
programs in a FIFO order on a particular filesystem.  The first
program deleted is the first to be expired for disk space if
necessary.
Use proper type when exporting Metadata objects from database classes.
(cherry picked from commit 361834a58512297aa5d6296ef8c5321469ea37b2)
Ensure the default parental level is set before we Load() the video data. This was seemingly always backwards which caused the data to be loaded twice. It was then broken by 7c8e45f which moved the signal connection to the right place but overlooked the misplaced ParentalLevel::SetLevel(). To recap, we want to connect the SigLevelChanged() signal _after_ the initial load otherwise we'd always trigger a second unwanted load.
(cherry picked from commit 6fe9ad066571d2d83600191182123b5dc41152e4)
Fix typo in ProgramInfo::ToMap()

Thanks to mayfields for spotting it.

Fixes #10746 .
(cherry picked from commit 2afb07d70f668e2b581c49902a5e69554a7da6b3)
Allow VDA to play interlaced content on a mac.

VDA has been found to severly crash a mac when playing interlaced content. So it had been disabled.

This commit allow the ability to override that behaviour with starting mythfrontend with:
MythFrontend.app/Contents/MacOS/MythFrontend -O AllowVDAInterlace=1
Fix memory leak when reading flac vorbis tags. Fixes #10721
(cherry picked from commit 7d4b2858a59e4a24f6939a4a7ee26faf997da65e)
Fix memory leak in MetaIOTagLib::getTrackLength(const QString &filename)
(cherry picked from commit e8aef6a91a00d57456ccaf5427f9e749857252ca)
Fix a null pointer dereference in MainServer::HandleQueryRecording(). This bug would have made it possible to crash a backend with a malformed QUERY_RECORDING message. Coverity defect 700420
(cherry picked from commit 9bddf5b26c5cf7e514e336de2ea4791031326cbe)
Fix several memory leaks in services/dvr.cpp. Coverity defects 700670, 700671, 700672 & 700673
(cherry picked from commit b30825e3119992be374ca6bf5e720199e710650c)
Updated Italian MythFrontend translation
from Morris Cavestro

Thank you Morris!

Backport of 5d2fe3d8733298d8b2af6941b1e6216ff84b70f3/mythtv

The translation was (as it should be) done against master so it
doesn't contain all the strings used in fixes/0.25 but it's a lot
more complete that what was in fixes/0.25 before.

Refs #10756

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>
Fix the media monitor unmounting blu-ray discs after insertion, we need them to be mounted in order to play them. Fixes #10759

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
(cherry picked from commit 477e12fd2efe7c62af2a47285cf2c82b31794261)
Subtitles: Avoid changing subtitle state in the decoder thread.

Use the proper API to defer subtitle changes to the UI event loop, to
avoid creating or deleting MythUI objects in a non-UI thread.
Refs #10740
(cherry picked from commit f0f37a55d67ffffa27d51ebc6b2cb48589c820fc)
Subtitles: Enable forced subtitle tracks.  Refs #10735

If the subtitle track is marked as forced, mark each individual
subtitle as forced even if it isn't individually marked in the stream.
Some mkv rips of DVDs appear to be structured this way.
(cherry picked from commit d5ce98e26d71500a48e5a40f544abb1fd9ca7684)