Fixes #10618 - serve xslt files as text/xml
Add rsOtherTuning and rsOtherRecording recording statuses.

rsOtherShowing is a display only recording status used by mythfrontend
to indicate a program will record or is recording on another related
channel.  There are two long-standing problems with it.  One, it
doesn't distinguish between will record and is recording.  Two, it is
treated as a non-recording type.  Both problems force the user to find
the "other" channel in the EPG or elsewhere in order to see the
complete status and/or maniuplate the recording.  This change
addresses both problems.

Add new rsOtherTuning and rsOtherRecording recording statuses.  These
statuses are analogous to the existing rsTuning and rsRecording
statuses and indicates that a recording is active.  rsOtherShowing is
now analogous to rsWillRecord and indicates future activity.

Treat all of the rsOther* status like their analogs.  This makes it
possible for actions like stoping an active recording or adding an
override without having to navigate to the other channel.

This change also removes oneChanid parameter from the ProgramInfo
constructor and from LoadFromProgram since it is no longer needed.
Fix a memory leak in DVDRingBuffer::GetChapterTimes()
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
Following [12372544] populate the chapter cache _only_ for the current title and not every title on the disc.
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 part 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
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
Fix syslogGetFacility's use of QBytebuffer

Fixes #10624.

Signed-off-by: Gavin Hurlbut <ghurlbut@mythtv.org>
Fix a potential leak in dvdnav_describe_title_chapters. Thanks to James Dutton (libdvdnav) for identifying the problem.
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.