Fixes #10618 - serve xslt files as text/xml
RingBuffer: Set the oldfile flag only once per live TV segment.

This is not a true fix, but may lessen the problem in fixes/0.25 until
the real solution is found.

Refs #10490.
(cherry picked from commit 2531893d539ceb7158033a5862e9fbd51e01da1d)
Disable the 'guess main title' code for DVDs, it's not actually working at all and causes a major memory leak in libdvdnav with some DVDs
(cherry picked from commit 12372544f5baddda38efd19588725fc96daa3ff0)
Following [12372544] populate the chapter cache _only_ for the current title and not every title on the disc.
(cherry picked from commit f92639fa0b7ab252c7c01be441f066745f2ae950)
Fix AC3 encoder when re-encoding non 5.1 audio

AC3 encoder would have failed with AC3 5.0 ; issue would have been seen doing timestretch on 5.0 audio like seen on Australia's ONE HD channel
Make sure passthru flag is in sync between video decoder and audio framework

When entering LiveTV with timestretch enabled via playback group, audio would be broken if watching a channel with AC3 content.
Reason being, audio is set for timestretch, but digital passthrough isn't disabled. We now make sure digital passthrough is disabled should timestretch had been activated earlier on.

Additionally, add the ability to cancel timestretch and audio processing should we revert to a timestretch factor of 1.0. This will only work if no reconfigure is done in between.

Fixes $10612 par 2
Fix audio digital passthrough device override setting

Some tests on the capabilities of the device were always performed on the main audio device. If a distinct digital device was defined, it could have been ignored.

Fixes #10621
Revert "Fix audio digital passthrough device override setting"

This reverts commit c3256830ba2eb1c073cd811b6578fb5d9dd94b1b.
Revert "Make sure passthru flag is in sync between video decoder and audio framework"

This reverts commit fce75fe45fd27462ded59ab6f8bdfa91890e5e32.
Revert "Fix AC3 encoder when re-encoding non 5.1 audio"

This reverts commit 7e7dcedf0e25ead1804ed4e587e3055348170089.
Convert the use of player_ctx in mythtranscode to QPointer<>

We have far too many places in the transcode code path that delete player_ctx
and return.  Unfortunately, freeing "transcode" also will try to delee
player_ctx, but it's already deleted, and not nulled out.  Rather than putting
many instances of "player_ctx = NULL", I opted to make PlayerContext a
QObject, and then just use QPointer<PlayerContext> as this will clear itself
to NULL as soon as it is destroyed.

Fixes #10616
(cherry picked from commit c5a9262355a51b2d2b0465234d79b527c3907e84)
Fix syslogGetFacility's use of QBytebuffer

Fixes #10624.

Signed-off-by: Gavin Hurlbut <ghurlbut@mythtv.org>
(cherry picked from commit 9ea5252bc3a6367dacec1b4f92f03c13fbd0f0e4)
Fix possible undefined behaviours in libmythprotoserver

The intermediary QByteBuffer returned by toLocal8Bit would have been destroyed at the end of the expression, making the pointer used invalid.

Wondering what kind of crash/instability this would have caused.
I went through the whole code, and only found those two.

Thanks to Malcolm Parsons (pepsiman) for reporting a similar issue in 9ea5252bc3a6367dacec1b4f92f03c13fbd0f0e4.

[cherry-picked from 5aaca58157c6456b88e500ccacbde91e31dcb534]