Updated German MythFrontend and MythMusic translation
from Florian Bittner

Thank you Florian!

Closes #12152

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>
Add additional european short date formats
from Angela Schmid

Thank you Angela!

Closes #12064

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>
Locale file for de_CH
from Eduard Iten

Thank you Eduard!

Closes #12102

Signed-off-by: Nicolas Riendeau <nriendeau@mythtv.org>
Only use VDPAU hwaccel API for mpeg container

The use of VDPAU hwaccel API was an attempt to fix #11377. However, the underlying problem is a FFmpeg libavformat bug (https://trac.ffmpeg.org/ticket/2915).

FFmpeg 1.2's VDPAU hwaccel is clearly unstable. 24fps AVI would play at half that rate, cause crashes with nouveau or visual distortion with AMD

As the aim is only to fix #11377, only enable the hwaccel API for the mpeg container.

Add a "vdpauhwaccel" setting override to completely disable VDPAU hwaccel under all circumstances

Fixes #12162
Remove hack forcing MPEG1 video to be treated as MPEG2

This hack was added to fix #287, which was a problem with XvMC decoding.
It makes no sense today, and actually break genuine MPEG1 videos.

Fixes #12160

(cherry picked from commit fee00c36f79dd06432392dd9d4891efc5d253fd2)
Don't attempt to issue DB query if there's nothing to do

Prevent harmless SQL statement error messages to be logged when the position map is empty

Regression introduced in b4be8e24f9fab5b6a71f62df8e2c0403bedf4805

Fixes #12161

(cherry picked from commit d90af2d6b09bc5197a39d1e1d09baff2aafe9a2a)
Try to fix corner cases when stopping in-progress recordings.

The backend uses EncoderLink::MatchesRecording(), which in turn uses
ProgramInfo::IsSameRecording(), to determine which recorder to stop.
Unfortunately the logic used is too strict in some respects and too
loose in others.  It is too strict in that it requires an exact match
on ProgramInfo::recstartts when there are many places in the code
where the exact recstartts used by the recorder is not known.  The
result is the stop recording request is ignored in those cases.  It is
too loose in that it doesn't only uses chanid and recstartts.  The
result is that it can stop the wrong recording in some cases.

This change attempts to resolve at least some of the issues.  Changed
PI:IsSameRecording() to also check the program title.  Changed
EL::MatchesProgram() to check PI::IsSameProgramWeakCheck() and the
inputids instead of PI::IsSameRecording() when the inputid is known.
This handles the cases where the exact recstartts isn't known.
Finally, removed a work-around for this problem in ScheduleCommon that
didn't always work.

(cherry picked from commit 8116fde7f46494dda0c7ca7658c3bf22e9340b34)
Revert "Try to fix corner cases when stopping in-progress recordings."

This broke livetv for many people. The auto-expirer would delete the in-use file
during playback.

This reverts commit a1b5067688bce06141ecd10b33dea91091f5e9a7.
Revert "Only use VDPAU hwaccel API for mpeg container"

Better fix coming

This reverts commit 2502f4a3c45b76684d1d37b9b6d39112c3fffd09.
Do not use VDPAU hwaccel API for mpeg4 videos

FFmpeg 1.2's VDPAU hwaccel is clearly unstable. 24fps mpeg4 in AVI would play at half that rate, cause crashes with nouveau or visual distortion with AMD

Add a "vdpauhwaccel" setting override to completely disable VDPAU hwaccel under all circumstances

Fixes #12162