Fixes #10981. Refs #10928. Convert QMutex to QSemaphore.

Since m_LoadLock is locked in the UI thread and unlocked in
the worker thread it needs to use a QSemaphore instead of
a QMutex. Thanks go to Lawrence Rust for discovering the
issue.
Merge remote-tracking branch 'upstream/master'
Revert "libmyth: Prevent an access violation by the ALSA library"

Unfortunately, under some circumstances, it exposes a bug in ALSA which disable all audio system-wide following the device scan.

The previous behaviour of potentially crashing, very rarely is I believe better.

This reverts commit c35c00385f781e6736026848d54d75ffa6006219.
Updated Spanish/Spain MythFrontend, MythGame, MythMUsic, MythNews and
MythWeather translation from Antonio Marcos Lopez Alonso.

Thank you Antonio!

Closes #10983

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>
Fix LiveTV when using HLS

IPTVFeederLive::Open is expected to return immediately and not to block for a long time, otherwise the Event thread isn't running and cause the frontend to disconnect prematurely.
Thanks to DanielK for his hint and feedback.

Fixes #10934
Merge remote-tracking branch 'upstream/master'
Fix MythDownloadManager::cancelDownload()

cancelDownload would delete the MythDownloadInfo object, while the object was still in use by the downloading thread, resulting in a crash.
Add some locking and do not delete object, instead mark it as cancelled.
Do not empty IPTVHLS buffer if there's no listener.

This prevents the HLS buffer to be quickly exhausted during transition.
Add extra verbosity for debugging purposes
Interrupt ongoing downloads in HLSRingBuffer destructor

IPTVRecorder::Close() is expected to return quickly, so the event thread isn't blocked which would cause the frontend client to disconnect prematurely (it timeout after only 7s)

Speed-up HLSRingBuffer destructor by interrupting any ongoing downloads (interrupt both segments download and playlist refresh)

Fixes #10987
Fix compilation error.

Silly mistake
Ignore invalid sub-stream entries.

A HLS stream may contain various bitrate streams, if one failed to download we would abort. Now just ignore it and continue

Fixes #10988
Update DB schema initialization for release (1307)
Allow DB schema use after InitializeMythSchema()

This seems to have been overlooked in 75cf4e4b439 . Fixes #10750.
Add missing include from 3234a348.
Don't enable metadata button in schedule editor if not recording.
Clean up orphaned inputgroups

in various places when UnlinkInputGroup(0,0) is called.

Fixes #10992 with a slightly modified patch, based on the SQL provided
by Karl Dietz.
Updated Greek MythFrontend, MythGame and MythWeather translation
from Yianni Vidalis

Thank you Yianni!

Closes #10990

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>

PS: Sorry for the delayed commit, I had some problems with my access.
One last theme string update before the full string freeze so that
everything that comes from the themes we translate will be translated.
Revert [6fb8692] to not use aacenc.c AAC encoder by default.

We've been recommended not to use the native AAC encoder by default
since there are still some known issues with the encoder.  This
commit tries to be as minimally invasive as possible since we're
close to release, but it does change it so that the native AAC
encoder in libavcodec is not used unless neither libmp3lame nor
libfaac support was configured.

If the native AAC encoder is working fine for you then you don't
have to do anything.  If you want to use libmp3lame as MythTV v0.25
used, then configure MythTV with --enable-libmp3lame.  If you wish
to use AAC but prefer libfaac over the native AAC encoder, then
you can run configure with --enable-libfaac --enable-nonfree.  If
both --enable-libmp3lame and --enable-libfaac are used, then
libfaac will take precedence.