commit 66ba83839a20e7c9adf0347ab6963dcdf1a58e6e
Author: Scott Theisen <scott.the.elm@gmail.com>
Date:   Fri Jun 24 17:07:00 2022 -0400

    MythEDID: fix out of bounds memory access
    
    found by valgrind while investigating segmentation faults that
    occured randomly on startup of mythfrontend.
    
    There are only 4 descriptors in the EDID data structure.
    By incorrectly looping 5 times in MythEDID::ParseBaseBlock(),
    an offset of 126 is passed to ParseDisplayDescriptor() or
    ParseDetailedTimingDescriptor() which will then read past
    the end of the 128 byte EDID data structure.
    
    This appears to have always been wrong since it was added in
    53d170221983764ae108939cbdb0bcbfc48b6114 .
    
    (cherry picked from commit 8e36123478cb98f0134bdc4447beb51d8e708385)

commit 4cf469cbbf02eb9343de4b776d3fee6d19b6af5d
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Fri Jun 24 21:33:46 2022 +0200

    Remove superfluous VERBOSE_LEVEL_CHECK macro in adaptation field size check
    
    This check is not needed because LOG is a macro that starts with the VERBOSE_LEVEL_CHECK
    macro and there are no computations before LOG is called.
    
    (cherry picked from commit 8db1aef46431d160f97cfb6379bff901184e4e58)

commit 811dad0e91b223bcd3e6f17950e81d296d93fc65
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Thu Jun 23 22:13:09 2022 +0200

    Discard transport stream packets with invalid adaptation field length
    
    See ISO/IEC 13818-1 : 2000 (E). 2.4.3.5 Semantic definition of fields in adaptation field
    Invalid adaptation field length can cause array bound violations when processing the
    adaptation field content and when array boundary checking for std::array is enabled.
    
    Refs #589
    
    (cherry picked from commit 904b98f74dc3f10745706e68c2b3bf87d9c47d64)

commit b09ce5de48c1eabc433615011016cee4e50cfce8
Author: Timothy D Witham <twitham@sbcglobal.net>
Date:   Sat Jun 25 01:17:14 2022 -0500

    Fix #579 LCD time by replacing colon with space.
    
    (cherry picked from commit 5c2f8090e3a1051f2459d28060eaf531177d57f8)

commit 501f85b389d8b626cbe4325fff1c18d84fbe25c9
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Fri Jun 24 22:46:46 2022 +0200

    Revert "Trim whitespace from beginning and end of lyrics lines."
    
    This reverts commit dee0dabda1c5b2c95b17f2365f8c68e8b66e3734.
    
    Refs #591

commit 7bb5162be039ba2905efea0acf85b076c9be6769
Author: Stuart Auchterlonie <stuarta@mythtv.org>
Date:   Wed Jun 22 08:27:28 2022 +0100

    extra include required on freebsd 13.1
    
    (cherry picked from commit e60b4b35a19214e541ee3647e0d07007997367c1)

commit 3bd5ef574c77b92095c5e2089d21473666f95830
Author: David Hampton <mythtv@love2code.net>
Date:   Mon Jun 20 00:46:37 2022 -0400

    mpeg2fix needs additional setup for FFmpeg 4.3 release.
    
    Refs: #581 #588
    (cherry picked from commit 8f99b9a78611d34b08c3411cb48e910c5cc37b13)

commit a26786f5b4f6890557274ab8435258447db7915c
Author: David Hampton <mythtv@love2code.net>
Date:   Thu Jun 16 19:42:15 2022 -0400

    Fix the std::vector ring_peek/poke functions to use pass by reference.
    
    Refs #581
    
    (cherry picked from commit 80f6c9f60b8306fa7d13fccab38ec4ad1e4ec576)

commit 66573a3f9b95bd6b218e363da2eac76738f990c4
Author: David Hampton <mythtv@love2code.net>
Date:   Wed Jun 15 15:54:05 2022 -0400

    Fix two logging relay functions to use QString::vasprintf.
    
    The code now calls QString::vasprintf, and not QString::asprintf like
    it did in the prior version.
    
    Refs #581

commit 7077a824d2e746f305bcb215ea687220abaa17db
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Sat Jun 4 21:05:22 2022 +0200

    Fix AdaptationFieldSize function
    
    Use the data() function to get a pointer to access the fifth element of
    a transport stream packet instead of directly accessing the fifth element of a
    std::array that maps only the first four bytes of the transport stream packet.
    
    (cherry picked from commit 0c16cbdbffecf20f95a812eff3fe1dc80495c789)

commit 8347647e4208e0963270eddd1724182c61f3d15d
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Tue May 31 23:58:59 2022 +0200

    Change default Unicable frequency to 1210MHz
    
    The previous default value was 1400MHz which is not a valid Unicable userband frequency.
    The new default value of 1210MHz is the frequency of the first userband.
    
    (cherry picked from commit 1a15ff133f22e5fe5cd331dcf1e25023a0758522)

commit ef9d17307fa1237e35234dd96be55c95c42cde88
Author: Korbinian Rosenegger <kroseneg@schmidham.net>
Date:   Fri Mar 11 09:57:52 2022 +0100

    Show transcoding profiles menu when job is _not_ running
    
    The transcoding profiles menu needs to be shown when the transcoding job
    is not running.
    With commit bf15fbee54 the logic was inverted accidently.
    
    (cherry picked from commit 1d1ca314697bed07f7f22cf0a6c5445ccd77bdc9)

commit 98c82d515d53ef57431d6bbfcd4264543a42426b
Author: David Hampton <mythtv@love2code.net>
Date:   Thu May 26 12:30:10 2022 -0400

    Fix problem with GetStatus API call while playing video.
    
    This bug was introduced while fixing a problem where all the network
    control "play" commands were duplicated by MythTV.  Most of the "play"
    commands are idempotent, so the only place the duplication was visible
    was the "play speed pause" command.
    
    Fixing that problem using a different method restores the
    functionality of the GetStatus API call.
    
    Fixes #545.
    
    (cherry picked from commit 07511117eef755794defc185c6c681f765535848)

commit b6286af7d82f81082f8d07dfcee3f7f8c9ab2542
Author: Roland Ernst <rcrernst@gmail.com>
Date:   Thu May 12 21:06:41 2022 +0200

    Python Bindings: Add compatibility to MariaDB 10.6
    
    MariaDB 10.6 introduced a new keyword 'offset' which collides with
    the field 'offset' from the recordedseek table.
    
    Solution:
    Backtick all queries related to to this table (in class DBDataRef
    and its descendants) to fix this collision.
    Note: The Python Bindings use the field names of a SQL table as
    properties, therefore simple back-ticking 'offset' won't work.
    
    The related MySQL error is:
    
    MythTV.exceptions.MythDBError: MySQL error 1064:
    You have an error in your SQL syntax;
    check the manual that corresponds to your MariaDB server version
    for the right syntax to use near 'offset,type FROM recordedseek WHERE ...
    
    Tested with python3.6 and python3.10 .
    
    (cherry picked from commit 094648aa7a78095a37db496fa11956a100ae5b0c)

commit 53c77f01324e5d35dfb08827e16cb0a83b702213
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Thu May 12 23:21:08 2022 +0200

    EIT start delay
    
    Compute the second component of the EIT start delay with the highest
    input number instead of with the number of inputs.
    The input number can be higher than the number of inputs because inputs (capture cards)
    can be deleted and because new inputs always get a higher number.
    This then can lead to a EIT start delay that is larger than intended.
    
    (cherry picked from commit ef1323cade687a3d769ba6d0c1b18c389eb9135e)

commit 26079f815a1723021dbe6a13eca0e66018f71e7b
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Fri May 6 20:47:05 2022 +0200

    Free AVPacket with av_packet_free
    
    Free AVPacket allocated with av_packet_alloc with av_packet_free
    instead of with av_packet_unref followed by a delete statement.
    
    Valgrind reports the "Mismatched ..."  message here:
    ==1671692== Mismatched free() / delete / delete []
    ==1671692==    at 0x48478DD: operator delete(void*, unsigned long) (vg_replace_malloc.c:935)
    ==1671692==    by 0x4E34300: AvFormatDecoder::~AvFormatDecoder() (avformatdecoder.cpp:376)
    and here:
    ==1684358== Mismatched free() / delete / delete []
    ==1684358==    at 0x48478DD: operator delete(void*, unsigned long) (vg_replace_malloc.c:935)
    ==1684358==    by 0x4E19A03: AvFormatDecoder::SeekReset(long long, unsigned int, bool, bool) (avformatdecoder.cpp:763)
    This is caused by using a delete statement to free a packet
    previously allocated by av_packet_alloc.
    According to the comment in packet.h where av_packet_alloc is declared:
    /**
     * Allocate an AVPacket and set its fields to default values.  The resulting
     * struct must be freed using av_packet_free().
     *
    This is now implemented.
    
    (cherry picked from commit 969235ed8abea04a3a39607bf6b699c743394bc5)

commit c4fc53c651edbcf695694ee12807b9bc1b4f79ca
Author: Peter Bennett <pbennett@mythtv.org>
Date:   Sat May 7 17:43:11 2022 -0400

    Services V2: Fix content length when length > 2 GB
    
    Third parameter of std::accumulate determines the return type, so it has
    to be explicitly cast to a uint64 to support 64 bit return.
    
    Fixes #555
    
    (cherry picked from commit d364c8b29db8e7c669bb3be90a6b8c4bc3021e4b)

commit d80a8da3f0163e6020ce2b6c76b5b31571fae2df
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Fri Apr 29 23:35:08 2022 +0200

    Jump forward to next live TV segment
    
    If playback is at the end of an earlier program in the live TV chain,
    skipping forward jumps to the end of the next program
    instead of to the beginning of the next program.
    Fixed by restoring two casts that were accidentally removed in
    commit 7949b0d20b5dc1b63c88ef511ccbef18c71ec8bf.
    
    (cherry picked from commit cc5c777fd0872449f915517757a4ebc652181d06)

commit ea669e1f825896355ebc3f428553d887b4d5b4c1
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Wed Apr 27 23:42:50 2022 +0200

    Jump back in live TV
    
    When jumping back in live TV and the jump time interval is larger than the
    current play position then a jump is done to the end of the recording instead
    of to the start of the recording.
    Fixed by restoring a cast that was accidentally removed in
    commit 7949b0d20b5dc1b63c88ef511ccbef18c71ec8bf.
    
    (cherry picked from commit cbcffc474df6f79779ac5af5f0a9a91e34cfad39)

commit 839d0f9ab6c7ced958bb5372376ab862461ae6d8
Author: David Engel <dengel@mythtv.org>
Date:   Tue Apr 26 17:12:08 2022 -0500

    Add cast needed by some compilers to last previous commit.
    
    (cherry picked from commit e2877111bec395c6baa0468fc41adbb3526e2d69)

commit 130f7054da73f8a23d04aacf683d743a449a4ec5
Author: David Engel <dengel@mythtv.org>
Date:   Tue Apr 26 16:03:25 2022 -0500

    Fix wakeup calculations in HLS.
    
    The std::chrono changes in commit 41225f80 inadvertently contained
    bugs that caused the wakeup times to be too low, often 0 (aka no
    deley).  This resulted in the recorder requesting the palylist way too
    often and putting excessive load on mythbackend and the HLS server.
    
    (cherry picked from commit 0fdd0186ed858cf9c1cac5999ee6ef42a6a067f9)

commit daa4e7e4474c019714d21674ee7e18f3bc89624d
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Fri Apr 22 21:04:59 2022 +0200

    Animation update interval lower bound
    
    Add a lower bound of 10ms for the animation update interval.
    The animation is used in the MythBuntu theme and there it can cause a stall of
    the GUI when the "Manage Recordings" / "Previously Recorded" screen is selected.
    This seems to happen only when there is a small number of recordings.
    The animation update draw interval was previously fixed at 16 milliseconds
    as computed by the function GetDrawInterval.
    This function has been removed in commit 34dfa31bc717628bc20a88dd396d54a3ef56b824
    and the update interval has since been dynamically computed with an upper
    bound of 50ms but without a lower bound.
    There is now a lower bound of 10ms added so that the computed interval time
    is clamped between 10ms and 50ms.
    
    (cherry picked from commit 43702fa5aa75acd8d2fbe54c00064bbab1cb3154)

commit ec4558f3e1bbc021d771276a288039924f181a8b
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Wed Apr 20 21:39:32 2022 +0200

    Update preview picture after record playback exit
    
    When exiting a record playback, the preview thumbnail picture that is shown
    at the right/bottom corner of the MythCenter-wide theme, is updated to show
    a still image of the recording at the last played position.
    Since commit 241d26d42ed625b069d9f8412030679429b14ca5, the 'Add percentage
    finished to "View Recordings" and "Upcoming Recordings"', issue #331, the
    preview picture is sometimes updated and sometimes not.
    This is now fixed by using a new field m_previewUpdate to store a copy of
    m_bookmarkUpdate when preview picture generation has been requested.
    This field is then used to compare against m_bookmarkUpdate
    to flag if the preview picture has to be updated.
    
    Fixes #547
    
    (cherry picked from commit 1064ffc03a920bf97132e558816c7299e130ced7)

commit bfae001d5cbb6e6012c3971e605d961e639e1eb7
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Sun Apr 3 18:39:20 2022 +0200

    Determine tuner type in ChannelScanSM constructor
    
    Initialize the m_scanDTVTunerType with the tuner type as found
    in the card already in the ChannelScanSM constructor.
    The need for this was indicated by a chanscan:debug log showing
    tuner type UNKNOWN when doing a "Scan of existing transports".
    
    (cherry picked from commit ba7caf2bbaf7d6d82f2879bd6a2133d34838c371)

commit bbd8355d8dbb5ef78080312c2d632232ea03b504
Author: Stuart Auchterlonie <stuarta@mythtv.org>
Date:   Mon Apr 11 22:20:23 2022 +0100

    [webapp] fix encoder status when recording
    
    (cherry picked from commit 3da1ca7bc3c72a41cf7a910680cfb8e5ead4b49e)

commit 9070e9e65b42b19b3a54c21117a07f627418999f
Author: David Hampton <mythtv@love2code.net>
Date:   Fri Apr 8 13:10:03 2022 -0400

    Fix zmserver compilation on rawhide.
    
    (cherry picked from commit 9d2c68fdf4512be7aac95310d0bc69d54be63ac3)

commit cd109ec6c08f578e1b0965e4726e6046d75af8e8
Author: acediac <git.zon@dfgh.net>
Date:   Sat Apr 9 22:57:38 2022 +1000

    Potential memory corruption problems in audiooutputbase
    
    (cherry picked from commit 81aeb49c456ff4ecab82c2297b22c38bd70d706d)

commit 1eacadd5f413197746cb61ea036c522c65f95936
Author: acediac <git.zon@dfgh.net>
Date:   Sat Apr 9 22:49:25 2022 +1000

    mythfrontend audio fixes for macOS
    
    - Fixed audio device detection
    - Fixed Surround Sound channel capability detection (5.1+ speakers)
    - Fixed memory corruption and leaks
    
    (cherry picked from commit 10df426eae3809cd896fae340f1c5dafbb628e34)

commit 560b425776dfced77ceb9a83b13f32cf00ff2d94
Author: Peter Bennett <pbennett@mythtv.org>
Date:   Thu Apr 7 19:51:20 2022 -0400

    Service API V2: Last Play Position APIs
    
    This adds 4 APIs:
    V2Dvr::GetLastPlayPos
    V2Dvr::SetLastPlayPos
    V2Video::GetLastPlayPos
    V2Video::SetLastPlayPos
    
    (cherry picked from commit 68bb24a31aca5d94b389a2909e329997f2793901)

commit 611cac15cc3988e2fbd2305a5662798f2ce8aef0
Merge: 5b54d3bf89 dcf7e13cce
Author: Stuart Auchterlonie <stuarta@mythtv.org>
Date:   Sun Apr 3 21:58:10 2022 +0100

    Merge pull request #536 from jhoyt4/fixes/32
    
    Fixes/32: Add missing include <array> to mythdate

commit 5b54d3bf89a6278c01169287ace4a0fd02cc2233
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Tue Mar 29 22:26:45 2022 +0200

    Add symbolrate to transport list in mythtv-setup log
    
    The symbolrate is added to the transport list
    that is logged by mythtv-setup.
    The symbolrate is needed for tuning DVB-C/S/S2 transports
    so there is now enough information in the log
    to tune a specific transport.
    
    (cherry picked from commit 3e52fe15cf711623addd8cc4944e40744c6610de)

commit dcf7e13cce89f363d20a9cdd3922a7741cc214a9
Author: John Hoyt <john.hoyt@gmail.com>
Date:   Sun Apr 3 07:35:20 2022 -0400

    Add missing include <array> to mythdate

commit f69ce764b78a15989455957eda235d5b1993a08a
Author: David Hampton <mythtv@love2code.net>
Date:   Thu Mar 24 17:44:32 2022 -0400

    Validate AV stream index before accessing stream.
    
    Fixes #528.
    
    (cherry picked from commit d47928088bc0cd3ab5b16fa183a865b0911da584)

commit 5432d11672605878a7ab1964996edc7b0103087d
Author: Scott Theisen <scott.the.elm@gmail.com>
Date:   Wed Mar 16 14:09:35 2022 -0400

    MythDate::formatTime(): update doxygen comment
    
    (cherry picked from commit 259a7fbe911da2ca229a513786172fcefeb8af07)

commit 9dcf2bb01eba126d304c323503c78ce36bbf595b
Author: Scott Theisen <scott.the.elm@gmail.com>
Date:   Wed Mar 16 12:42:28 2022 -0400

    mythcommflag/CommDetector2.cpp: fix missed MythDate::fortmatTime() uses
    
    hh should be HH; missed chop not replaced.
    
    (cherry picked from commit 19b0a7b2184a730f6e55c0cd2f41e26fb71ae2cf)

commit d5fe42fc6b994c716c70901173d876c53200b50c
Author: David Hampton <mythtv@love2code.net>
Date:   Tue Mar 15 17:41:48 2022 -0400

    Better fix for MythDate::formatTime to handle overflows.
    
    Fixes #520.
    
    (cherry picked from commit 65b9c73adacabe38877c3e18af5d4a0545799c16)

commit 36c5630035864fa5d8efdaec8b0ef6c98067bc67
Author: David Hampton <mythtv@love2code.net>
Date:   Mon Mar 14 11:57:26 2022 -0400

    Fix MythDate::formatTime to handle times greater than 24 hours.
    
    (cherry picked from commit 2d7a09e40f55c13e203994aa4031f7de111fc97f)

commit ae60e8302fab769dd0aacb091d195b1cef08ad9c
Author: Scott Theisen <scott.the.elm@gmail.com>
Date:   Thu Mar 10 20:30:13 2022 -0600

    Use separate end-of-playback checks for audio-only/mostly content and
    normal/video-only content.
    
    Refs #511
    
    Signed-off-by: David Engel <dengel@mythtv.org>
    (cherry picked from commit 367539575cc43b0a7ef5ce3f40d8e50fcb144ec8)

commit 043507cd6f638af4033ae7faca00dec4edc8deb2
Author: Scott Theisen <scott.the.elm@gmail.com>
Date:   Wed Mar 9 20:53:30 2022 -0600

    Fig logic bug in std::chrono conversion commit c71a8672.
    
    Signed-off-by: David Engel <dengel@mythtv.org>
    (cherry picked from commit acf5188a1f799c774ed21735305391c6532e072b)

commit e78a0c0042ea20240adef7566676ddeec4c2fb88
Author: David Engel <dengel@mythtv.org>
Date:   Fri Mar 4 10:44:01 2022 -0600

    Fix playback hangs at end of file.
    
    Refs #511
    
    (cherry picked from commit 4e35b3f712bd5dc79a99c9566e96103b88e9648d)

commit 44a45272517a8122369d74f149dc86432afe3ac0
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Mon Feb 28 21:23:06 2022 +0100

    Remove extraneous ? character in Sat>IP OPTIONS message
    
    The extraneous ? character occurs when the QUrl query is initialized to an empty string "".
    Fixed by replacing the "" by a QString() in the OPTIONS and the PLAY query composition.
    Thanks to Mike Bibbings for reporting and fixing this for the TEARDOWN command,
    see https://code.mythtv.org/trac/ticket/13121#comment:20
    
    Refs #13121
    
    (cherry picked from commit 26cc38423e2e4ede89dfabd9971196b83e17aadd)

commit 75b942fd8cdf6979463c72c75e2919e18552c644
Author: Peter Bennett <pbennett@mythtv.org>
Date:   Sat Feb 26 11:13:47 2022 -0500

    Fix CPU detection for armhf
    
    This applies the same fix in MythTV as was applied in 75cf504 to FFmpeg.
    The same code is in MythTV and needs the same fix.
    
    Fixes #505
    
    (cherry picked from commit 13e75f1e900ae923bdfa61cda56f33f7a5521c17)

commit 75cf5040eff2aa6b7dc075462311de7c277b9375
Author: Martin Storsjö <martin@martin.st>
Date:   Thu Feb 24 20:00:00 2022 -0500

    configure: arm: Don't add -march= to the compiler if no preference was passed
    
    If no --cpu= option was passed to configure, we detect what the
    compiler defaults to. This detected value was then fed back to the
    rest of the configure logic, as if it was an explicit choice.
    
    This breaks on Ubuntu 21.10 with GCC 11.1.
    
    Since GCC 8, it's possible to add configure extra features via the
    -march option, like e.g. -march=armv7-a+neon. If the -mfpu= option
    is configured to default to 'auto', the fpu setting gets taken
    from the -march option.
    
    GCC 11.1 in Ubuntu seems to be configured to use -mfpu=auto. This
    has the effect of breaking any compilation command that specifies
    -march=armv7-a, because the driver implicitly also adds -mfloat-abi=hard,
    and that combination results in this error:
    
        cc1: error: ‘-mfloat-abi=hard’: selected processor lacks an FPU
    
    One can compile successfully by passing e.g. -march=armv7-a+fp.
    
    Therefore, restructure configure. If no specific preference was set
    (and the 'cpu' configure variable was set as the output of
    probe_arm_arch), the value we tried to set via -march= was the same
    value that we just tried to detect as the compiler default.
    
    So instead, just try to detect what the compiler defaults to, with
    to allow setting other configure settings (such as 'fast_unaligned'),
    but don't try to spell out the compiler's default via the -march flag.
    
    Signed-off-by: Peter Bennett <pbennett@mythtv.org>
    (cherry picked from commit 6a79086179f0ffc6572285bfae4875a4db9a8610)

commit 56275b303bf7c7fec99993d1fff568708d0b985b
Author: Anton Khirnov <anton@khirnov.net>
Date:   Thu Feb 24 11:11:28 2022 -0500

    configure: link to libatomic when it's present
    
    C11 atomics in some configurations (e.g. 64bit operations on ppc64 with
    GCC) require linking to libatomic.
    
    Fixes #499
    
    Signed-off-by: Peter Bennett <pbennett@mythtv.org>
    (cherry picked from commit 85d37a59152f4606fa729b694b50d955f7f28de4)

commit 28d360e98916ae065292fa29675c48faff742923
Author: Paul Harrison <paul@mythqml.net>
Date:   Thu Feb 24 11:40:20 2022 +0000

    Revert "NuppelVideoRecorder.cpp: convert to QtEndian"
    
    This commit is causing problems with the Ubuntu s390x builds and
    possibly other big endian builds.
    
    This reverts commit 9ad661568042ec1d36645105bbd9a50ece23659d.
    
    (cherry picked from commit dd3dcfbb7b308c53be1b48bafc3410d0e0bf4e08)

commit 23725516afe15266967f00626efc4d2c23c60084
Author: David Hampton <mythtv@love2code.net>
Date:   Wed Feb 23 12:01:37 2022 -0500

    Setting SRC_VERSION to v32.0
