AlbumArt::cycleImage(): If we only have one image there is nothing to cycle
Pontentially save some time in Scheduler::HandleIdleShutdown(). Only one tuner needs to be in use to block shutdown, so if we find one then skip checking the others.
Revert "Pontentially save some time in
Scheduler::HandleIdleShutdown(). Only one tuner needs to be in use to
block shutdown, so if we find one then skip checking the others."

Not required, we were already doing this check. I blame code
blindness, I've been staring at it for so long I wasn't that I was no
longer seeing it.

This reverts commit e0f68241babfd4284cb03a7892d2f9f9f9b00cff.
actually add the timecodeOffset when getting audio frames

We have to ask the AudioReencodeBuffer for audio to write with the
original timecode before applying the cut list.

Patch by Nicolas Pöhlmann
Reviewed by Paul Gardiner

Refs #11639
convert existing code documentation to doxygen style
Use the ChannelIcon storage group in the services API Guide/GetChannelIcon()
Improve cc608 debugging log output.
Fix some cc608 field number handling.  Refs #11899.

More accurately decodes CEA-608 captions encoded in SCTE-20 user data.
  * Field number 3 is merged with field number 1 instead of 2.
  * Data in field number 3 is not rejected.
  * Field numbers 1 and 2 are then swapped if top_field_first is false.
These changes are based on the SCTE 20 handling code from ccextractor.
Add ChannelIcons to the list of "special" storage groups.

Signed-off-by: Raymond Wagner <rwagner@mythtv.org>
decode URL before attempting to open them.

Thanks to Chris Pinkham for finding the root cause.

Fixes #11909
Replace stray tab
Disambiguate the line number in QSP exception errors.
Revert "Add ChannelIcons to the list of "special" storage groups."

This reverts commit d2316b47974f27dc333dd2924e8beb0aca92a73e.

The ChannelIcon group is a built-in group, built-in groups aren't
included in disk space calculations.
Lookup channel data by chanid instead of source+channum, the latter requires a single query and the former three queries.
Fix services GetChannelIcon() when height or width are specified
Use the ChannelInfo class instead of loading data in fragments from ChannelUtil
Change CommFree from an int to a bool
Merge some identical channel loading code in the guide and channel
services.

Also:
* Start exposing correct visibility information for channels returned by
  GetProgramGuide. This would be necessary for any third parties
  wishing only to display the channels the user actually wants to use
  (which may be dozens out of hundreds for Satellite/Cable).

* Change some argument types from int to uint for consistency, and
  because these cannot legitimately be less than zero so it forces
  users of the services API to provide sane values
Fix a whitespace error in site.css
Services API: Order programs in GetProgramGuide() by starttime