commit 70fe2731769916c0c5ce9807e0e9fbbbc41f7699
Author: Peter Bennett <pbennett@mythtv.org>
Date:   Tue May 27 11:16:36 2025 -0400

    Make CheckSubnet thread-safe
    
    MythCoreContext::CheckSubnet can be called from multiple threads. It
    uses 2 QList objects that are not thread-safe. Protect them with a
    QMutex.
    
    This is the equivalent change to 9292a764ca in master branch.

commit 38bc1e487a3a8271acee86f43139faea999edd1a
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Mon May 26 22:40:36 2025 +0200

    Clear video properties display when recording is unselected
    
    In the "Watch Recordings" page, remove the presentation of the
    video properties icon at the right/bottom corner when the
    recording is not selected anymore.
    
    Refs #1115
    
    (cherry picked from commit 537bb5dcd04d9d8abdb73a6b8562cc056aee9ee9)

commit e12af6514fa9a068f3312f8e8ee0b79db06c4729
Author: Roland Ernst <rcrernst@gmail.com>
Date:   Sun May 25 12:53:54 2025 +0200

    Fix access to DVBH-CAM after commit 728caf2
    
    This commit 728caf2 named
    "tidy: Move assignments to constructor member initialization list. (libs 2)"
    added an unwanted change in the initialisation of the variable
    `m_infoLengthPos` in the file dvbci.cpp.
    Reverting this code change gives back proper decrypting of live-tv.
    
    Refs MythTV#1107
    
    (cherry picked from commit dbdb8a8ab73687aee1c254ae2f0c1ca36a358de0)
    (cherry picked from commit 2c0711afa7171ff7bed9a9de198369e775b5cff7)

commit 886d3561fc63836f0b9cb021c61c91e305270b99
Author: Roland Ernst <rcrernst@gmail.com>
Date:   Mon May 12 22:47:09 2025 +0200

    Python: Respect `fold` attribute provided by `datetime.tzinfo`
    
    Python3.13 takes the `fold` attribute into account when crating various
    `MythTV.datetime` objects. This attribute is used to disambiguate
    `datetime` objects during transition from daylight saving time
    to standard time, where the local time stamp occurs twice.
    
    Found in the changelog of pyzthon 3.13:
    gh-89039: When replace() method is called on a subclass of datetime, date or time,
    properly call derived constructor. Previously, only the base class’s constructor was called.
    Also, make sure to pass non-zero fold values when creating subclasses in various methods.
    Previously, fold was silently ignored.
    
    Refs: MythTV.#1083
    (cherry picked from commit b577909fdc40653ff23b89125df662d2dfb1349e)

commit c7661d4cf1dc2c6646da0ef1f2c2c1847488054c
Author: Steve Erlenborn <1751095+SteveErl@users.noreply.github.com>
Date:   Sat May 17 10:54:11 2025 -0500

    Close file leak in PulseAudio output handler (#1098)
    
    According to the PulseAudio Destruction documentation,
    
    "When the PulseAudio connection has been terminated,
    the thread must be stopped and the resources freed.
    Stopping the thread is done using
    pa_threaded_mainloop_stop(), which must be called
    without the lock (see below) held. When that
    function returns, the thread is stopped and
    the pa_threaded_mainloop object can be freed using
    pa_threaded_mainloop_free()."
    
    The code in audiooutputpulse.cpp called
    pa_threaded_mainloop_stop(), but never called
    pa_threaded_mainloop_free(). That missing call is
    what frees up allocated resources like FIFO files.
    
    The missing calls to pa_threaded_mainloop_free() have
    been added in this modification.
    
    Resolves: #1095
    (cherry picked from commit b1bb52dd86ced27f4fa713b60109351a4f7f19d0)

commit 1f9b23e69e8401263c875fba8442c3de6dbed91d
Author: Peter Bennett <pbennett@mythtv.org>
Date:   Fri May 16 11:43:41 2025 -0400

    web app rebuild

commit 2a14f88df89fcf68039fb56eafe93b57c4710b04
Author: Peter Bennett <pbennett@mythtv.org>
Date:   Sat May 10 14:24:38 2025 -0400

    web-app setup: Add missing Guide Data Program options
    
    Setup, General, Program Schedule Downloading Options was missing the
    mythfilldatabase settings and start time options. Now added.
    
    Refs #1086
    
    (cherry picked from commit 018bae7941340130c77f687c631ac52457826bd4)

commit 2c184be3c90c95689b25d89c206d1a0457cb1d40
Author: Dadeos <Dadeos@users.noreply.github.com>
Date:   Thu May 15 11:14:51 2025 +0100

    DBus screensaver always report being awake
    
    Always return false for the Asleep function of the DBus screensaver.
    Remove the inhibite state bookkeeping because that is not used anymore.
    The Asleep function is only relevant for the X11 screensaver.
    The value of this function is used in mythinputdevicehandler.cpp to discard input events when the screen is powered off. This is only useful with the X11 screensaver; the DBus screensaver has the state "inhibited" and "not inhibited" but it does not say anything about the screen actually being saved or not.
    
    Fixes #1064
    
    (cherry picked from commit a52127704d7c80a298a803cd82e2435466742c01)

commit 9e66243fbd8296558cde0d60c3ab3504c52dc5e0
Author: Peter Bennett <pbennett@mythtv.org>
Date:   Sat Apr 26 17:52:12 2025 -0400

    Fix LiveTV programs stuck in "Recording" status after recording ends
    
    Bug: After a recording in "LiveTV" recording group ends, it still shows
    "Recording" status in mythfrontend.
    Fix: Remove check for "LiveTV" before sending UPDATE_RECORDING_STATUS
    message in FinishedRecording method.
    
    (cherry picked from commit 08c5777b3da60449ed813be4663cdb83f2236c25)

commit 0caa8c0df1b1db962b75b64547f0349eb62f32dd
Author: Peter Bennett <pbennett@mythtv.org>
Date:   Fri Apr 25 18:01:13 2025 -0400

    Fix SSL in built in web server
    
    Incorrect usage of QObject::sender() to pass in server type resulted in
    all server requests being treated an non-ssl. Moved the
    QObject::sender() call and changed the format of the queue to pass
    correct SSL indicator.
    
    Refs #1058
    
    (cherry picked from commit a22da623c15810da4c5f3126eedf02c42a796d74)

commit eaa307f0b6f0ddef4f62981617ba59d6bbd0b103
Author: Klaas de Waal <klaas@kldo.nl>
Date:   Mon Apr 21 11:09:19 2025 +0200

    Use QChar for satellite channel polarity
    
    Revert a change done in commit 80ebec6 where the character representing
    channel polarity ('H' or 'h' or 'V' or 'v') was changed into
    the numerical value of the character.
    
    Refs #1070
    Refs #1071
    
    (cherry picked from commit cf33bfbbcbcde408d4cab09e273e41310650df20)

commit b23c98df533b441d213b68cf1510cd8cfac5454b
Author: John Hoyt <john.hoyt@gmail.com>
Date:   Sun Apr 20 09:25:40 2025 -0400

    cmake: correct darwin package manager lib path
    
      Correct the PKGMGR_LIB_DIR variable to point to the correct path
      for both macports and homebrew.  The fixed state hard coded this
      path to ${MACPORTS_PREFIX}/lib which resolves to /lib on homebrew.
    
    (cherry picked from commit 49548169cfbdad97c43323d66848d42b4582a869)

commit 2099efbe211e72c915ae20498e45aa2b06f5c0d1
Author: David Engel <dengel@mythtv.org>
Date:   Fri Apr 18 14:37:27 2025 -0500

    Work around a timeout and eventual playback exit during
    fast-forward/rewind.
    
    Something changed, I think around the time of the ffmpeg 7.1 update,
    that causes fast-forward/rewind to sometimes hang waiting for decoded
    video buffers.  I suspect an error in the video buffer life cycle but
    I've so far been unable to pin it down.  For the time being, work
    around the problem by clearing the render one flag when we warn about
    waiting too long for buffers.
    
    (cherry picked from commit 186318c8350430b9bcf4d6be720f40af6e036d0b)

commit 4289cf86b03c0ee0220589b7c27b6acab2487b3c
Author: David Hampton <mythtv@love2code.net>
Date:   Tue Apr 1 09:08:30 2025 -0400

    Fix Qt6 compilation on Fedora rawhide.
    
    The latest version of Qt6 has removed some overrides for QString::arg
    and Qchar::Qchar causing compilation to break.  Change the existing
    casts on these function calls to use a different override that still
    exists.
    
    (cherry picked from commit 80ebec6e2760f5d2a5faccdf3904cb35514cb318)

commit 18acab149c59a9ec45cd556eaa54e09cc25b1b0f
Author: David Hampton <mythtv@love2code.net>
Date:   Fri Mar 14 09:40:53 2025 -0400

    cmake: Fix osx compile without virtual environment.
    
    (cherry picked from commit fbf4c1482e10642b0e280cebb20c9866e6fcd1ff)

commit 8172fa23ff4cd9a8fbca95d07f177572596e93cd
Author: David Hampton <mythtv@love2code.net>
Date:   Fri Mar 14 08:28:52 2025 -0400

    Fix building on OSX with the most recent version of mesa.
    
    Older mesa wasn't detected by configure on OSX, and therefore MythTV
    only built in support for VideoToolbox.  The latest mesa is detected
    and MythTV tries to build support for both VideoToolbox and OpenGL,
    which fails.  No idea why this changed, but the cause of the compile
    failures is that EGLNativeDisplayType is defined as "void*" on most
    platforms, but its defined as "int" on Apple.  This conflicts with
    MythTV's hard coded signature for the EGLGETPLATFORMDISPLAY function.
    Providing a variant signature for Apple solves the compilation
    problem.
    
    (cherry picked from commit e6b358ed01283099934bc0de1318e87360342fa4)

commit 30ba688773852d3f8ad44dd7ceb1b6634ca7ea4e
Author: Bill Meek <bmeek@mythtv.org>
Date:   Fri Mar 14 13:36:52 2025 -0500

    Services API: change the JobAllow* check to log only
    
    Switch to LOG_NOTICE and remove the failure return.
    
    Fixes: #1062
    (cherry picked from commit 7baf1a1e70c73e8bd153cfb37b8f69a63ce7bdca)

commit 595de795884c11165f819768af79f9de25f96cb4
Author: Peter Bennett <pbennett@mythtv.org>
Date:   Wed Mar 12 11:28:44 2025 -0400

    Fix version.sh error
    
    Fix Incorrect syntax for if test
    
    (cherry picked from commit 33148544d8091fe0b1e70d04ab0a662db3ed6176)

commit 9346914b84506db8a5d4ac2444b03c6d2b69b204
Author: David Hampton <mythtv@love2code.net>
Date:   Thu Feb 27 10:42:36 2025 -0500

    Use accessor functions instead of directly including version.h.
    
    (cherry picked from commit db54767322f5e513af62ee15536543820a6dcc19)

commit acaf49f07f91f5e331b1b63a01ecc1adfb103235
Author: David Hampton <mythtv@love2code.net>
Date:   Thu Feb 27 10:40:42 2025 -0500

    cmake: Recreate version.h with every compile.
    
    Call the version.sh script every time "cmake --build" is run to ensure
    that version.h always contains the correct git information.
    
    (cherry picked from commit d73d17abf37d8e95b8234abbcb1f11dc5fff1ce2)

commit bfbb4b496c0d5f6652521fa9a5f250707b75ab40
Author: David Hampton <mythtv@love2code.net>
Date:   Thu Feb 27 10:40:42 2025 -0500

    cmake: Show install output as it happens.
    
    Don't collect the output until and then display it all at the end of
    the install stage.  Display it as it happens.
    
    (cherry picked from commit 9cc42d1bf961c093d8dd0134f714124ff44cf230)

commit 6cff4d93a0569074506db02eb6ea713650710a09
Author: David Hampton <mythtv@love2code.net>
Date:   Thu Feb 27 09:18:31 2025 -0500

    Add a quiet flag to version.sh script.
    
    (cherry picked from commit 051739486dd283dad6e04fe9b59091104664527b)

commit 8da6172dcb29e46f4ac29d9778091e7ce2ac6462
Author: David Hampton <mythtv@love2code.net>
Date:   Thu Feb 27 09:08:30 2025 -0500

    Eliminate spurious output from version.sh.
    
    When checking the validity of the source version, the intermediate
    result of a test command is accidentally printed to the console.
    Store this intermediate result into a variable and test the variable.
    This prevents spurious output.
    
    (cherry picked from commit ce5e2ab4d417b50ff079011d2c4ee21c02b1c2b6)

commit c778dfd6087bb8496648acf6f3c5491a3be224b1
Author: David Hampton <mythtv@love2code.net>
Date:   Thu Feb 27 09:05:28 2025 -0500

    Add output directory argument to the version.sh script.
    
    If this optional argument is supplied, the new version.h file will be
    placed under that directory instead of the source directory.  This
    will allow cmake to use the script and put the resulting file into a
    build directory.
    
    (cherry picked from commit 4779f51e8f534beb78a38a1b987b1dce56e34143)

commit 306fda12aa02e90882406927156ff2dc11642fc3
Author: Timo Rothenpieler <timo@rothenpieler.org>
Date:   Tue Feb 25 19:39:43 2025 +0100

    avcodec/cuviddec: correctly handle buffer size and status when deinterlacing
    
    Signed-off-by: Peter Bennett <pbennett@mythtv.org>
    (cherry picked from commit e59ad8a4fe7ec021f1118e78a77b5aadca6d8a42)

commit cbbef8756457af2c64e2c42c1faf6e35d97aceb2
Author: Scott Theisen <scott.the.elm@gmail.com>
Date:   Tue Feb 25 21:44:46 2025 -0500

    Revert "libavcodec: increase CUVID_DEFAULT_NUM_SURFACES"
    
    This reverts commit 6ebe909c0d98f7d200666162730dd1ef25d3c984.
    
    Signed-off-by: Peter Bennett <pbennett@mythtv.org>
    (cherry picked from commit 997d477f6eae25e25fc0b72d30ead229f69ed3ee)

commit ec351fd5c48bd90567825f5aa7107cd8571a8dcb
Author: David Engel <dengel@mythtv.org>
Date:   Sun Mar 2 17:13:32 2025 -0600

    Fix bad en_us translation in statusbox.
    
    (cherry picked from commit dc9b7122e45fcbdc2529aa08f546cb1674084e83)

commit 70cb82bc9ae06f59142efa7f047e2a73adfbc7d8
Author: Bill Meek <bmeek@mythtv.org>
Date:   Thu Feb 27 20:20:08 2025 -0600

    mytharchive: fix use of reserved keywords for C23
    
    Testing with Fedora rawhide, builds fail with:
    
        error: cannot use keyword 'false' as enumeration constant
        typedef enum { false = 0, true = 1 }    bool;
                       ^~~~~
        note: 'false' is a keyword with '-std=c23' onwards
        error: expected ';', identifier or '(' before 'bool'
        typedef enum { false = 0, true = 1 }    bool;
                                                ^~~~
    
    (cherry picked from commit bc4476e671f449ef26f19fd6cedda8e98dcc043b)
