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