Make backend's bonjour service name dns-compliant

The master/slave label has been moved into the TXT record to reduce
the service name below the 15 character limit for DNS records. Per RFC 6335

This may break compatibility with some existing clients, but it's necessary
to make it work with many more clients.

Fixes #10773

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
Fix crash when DB logger is enabled
Correct error in Python bindings that prevented use of custom profile.
It turns out that 'IsExternalChannelChangeSupported' is really used to ask 'IsExternalChannelChangeInUse'.  Fix IPTVChanell to answer that question.

Fixes #11799
Speed up drawing caption text with outlines.

The old method of drawing text with outlines involves drawing the same
text many times at various offsets, with the offsets based on
traversing the perimeter square of pixels with edge length 2N+1, where
N is the specified outlinesize.  This means drawing 8N extra copies of
the text.  With some fonts and point sizes, this can be a very
expensive operation, leading to video stuttering while captions are
drawn.

The new method draws just one extra copy, but with a pen width set to
2N+1, which is much faster.  Beware that using a huge outlinesize may
lead to strange artifacts in the outline (but that was already the
case for the original outline code).

Refs #10984.
Remove execute bit on source files.

This happened in 6438e9a8716a6e2c7c31fb65e85b42d6a782ed12.
Use const ref args in the constructor.  Refs #10984
Make sure smolt directory is created before trying to read from it.

This makes sure the configuration storage directory has been created
prior to attempting to use it. Smolt typically stores to /etc, and
assumes the packager has created its desired directory. There is
probably a cleaner place to put this code, but this is a catch-all for
several files read from that directory.

Fixes #11803
add support for multiple CRIDs in one descriptor

Refs #11757
extend EITHelper to handle multiple CRIDs per descriptor

Fixes #11757
Use symbolic constants instead of 8 and 64.  Refs #10984
Be less conservative about marking windows as changed.  Refs #10984.
Improve performance of processing CEA-708 captions.  Refs #10984.

Change the complexity of creating cc708 strings from quadratic to
linear.

Allow leading and trailing strings of spaces to be joined to their
neighbor strings even when the pen is different, to reduce the number
of chunks to process.  (These chunks would have been eventually
optimized away before drawing, but now the overall processing time is
reduced.)
Be less conservative about marking windows as changed.  Refs #10984.

Missed one opportunity in 2c8c898f5d2f4b76f06a978a09830599dff530b5.
Fix clang build error after 2427afd.  Refs #10984.
networkcontrol: add "playlistview" as a synonym to "playmusic" jump point

This allows for symmetry between the jump and the resulting location, while
not breaking anything or anyone expecting "playmusic" to work.

Fixes #10698.

Signed-off-by: Paul Harrison <pharrison@mythtv.org>
MythArchive: Catch StopIteration exception in mythburn.py

If a DVD is created from a single mpeg video then mythburn.py attempts
to transcode the file to eliminate any errors.  However, runMythtranscode
calls DB.searchRecorded, to obtain any cutlist, with an invalid chanid
and starttime which results in a StopIteration exception.

This patch catches the exception and returns an empty cutlist.

Fixes #10758.

Signed-off-by: Paul Harrison <pharrison@mythtv.org>
Logging: Fix a bug in flush

Signed-off-by: Paul Harrison <pharrison@mythtv.org>
Fix memory leak in MpegRecorder. Fixes #11529

Tested by John Poet.

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
AO: Fix string format args in AudioInputALSA::PcmRead()

Signed-off-by: Paul Harrison <pharrison@mythtv.org>