[mythtv-commits] [MythTV/mythtv] 2bb295: Reimplement RaopNetStream for Qt 6.9.
David Hampton
noreply at github.com
Mon Jan 12 23:05:01 UTC 2026
Branch: refs/heads/master
Home: https://github.com/MythTV/mythtv
Commit: 2bb295c8e19cf57e3403966549ee81d08ed7d6f9
https://github.com/MythTV/mythtv/commit/2bb295c8e19cf57e3403966549ee81d08ed7d6f9
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythtv/libs/libmythtv/AirPlay/mythraopconnection.cpp
Log Message:
-----------
Reimplement RaopNetStream for Qt 6.9.
Qt 6.9 marks the QTextStream as "final", so it can't be inherited
from. RaopNetStream was a QTextStream with one function overridden
for debugging. Reimplement this as a base class object that contains
a single QTextStream member.
Commit: cb013a177b48b5684b629438ee35d8cb7b29282b
https://github.com/MythTV/mythtv/commit/cb013a177b48b5684b629438ee35d8cb7b29282b
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythtv/libs/libmythbase/http/mythhttpencoding.cpp
M mythtv/libs/libmythbase/http/mythhttpmetaservice.cpp
M mythtv/libs/libmythbase/http/serialisers/mythxmlplistserialiser.cpp
M mythtv/libs/libmythbase/http/serialisers/mythxmlserialiser.cpp
M mythtv/libs/libmythui/mythuiwebbrowser.cpp
Log Message:
-----------
Convert final Qt foreach() macro to C++ standard range-for.
As of Qt 6.0, this macro was deprecated and an option was added to
prevent further use of the macro. These are the final instances of
the foreach macro, and no further use will be allowed.
See c3cc79da11 (et al) for additional comments on this macro.
Commit: ee3ae60979a9b606f3b7e211d146fa0b392052df
https://github.com/MythTV/mythtv/commit/ee3ae60979a9b606f3b7e211d146fa0b392052df
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythtv/libs/libmythtv/HLS/httplivestreambuffer.cpp
M mythtv/libs/libmythtv/cardutil.cpp
M mythtv/libs/libmythtv/io/mythinteractivebuffer.cpp
M mythtv/libs/libmythtv/io/mythstreamingbuffer.cpp
M mythtv/libs/libmythtv/iptvtuningdata.cpp
M mythtv/libs/libmythtv/recorders/HLS/HLSReader.cpp
M mythtv/libs/libmythtv/recorders/HLS/HLSStream.cpp
M mythtv/libs/libmythtv/recorders/cetonrtsp.cpp
M mythtv/libs/libmythtv/recorders/satipstreamhandler.cpp
Log Message:
-----------
Explicitly convert QStrings to QUrls. (libmythtv)
Qt has deemed marked the implicit conversion of a QString to a QUrl as
a sub-optimal or dangerous API. Update code that relies on this
implicit casting to perform an explicit call to construct a QUrl. Add
some checking to validate the generated QUrl structures.
https://doc.qt.io/qt-6/qurl.html#QT_NO_URL_CAST_FROM_STRING
https://doc.qt.io/qt-6/qtglobal.html#QT_ENABLE_STRICT_MODE_UP_TO
Commit: 27ba4433f9d4d1b04e81f59e49c4ee235f25fb98
https://github.com/MythTV/mythtv/commit/27ba4433f9d4d1b04e81f59e49c4ee235f25fb98
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythtv/libs/libmyth/backendselect.cpp
M mythtv/libs/libmyth/mythcontext.cpp
M mythtv/libs/libmythbase/http/mythhttprequest.cpp
M mythtv/libs/libmythbase/mythdownloadmanager.cpp
M mythtv/libs/libmythbase/mythsingledownload.cpp
M mythtv/libs/libmythfreemheg/Programs.cpp
M mythtv/libs/libmythmetadata/dirscan.cpp
M mythtv/libs/libmythmetadata/videoscan.cpp
M mythtv/libs/libmythupnp/ssdpcache.cpp
M mythtv/libs/libmythupnp/upnpdevice.cpp
Log Message:
-----------
Explicitly convert QStrings to QUrls. (libs)
Qt has deemed marked the implicit conversion of a QString to a QUrl as
a sub-optimal or dangerous API. Update code that relies on this
implicit casting to perform an explicit call to construct a QUrl. Add
some checking to validate the generated QUrl structures.
https://doc.qt.io/qt-6/qurl.html#QT_NO_URL_CAST_FROM_STRING
https://doc.qt.io/qt-6/qtglobal.html#QT_ENABLE_STRICT_MODE_UP_TO
Commit: 3210565b44e8363c3dafa8662179dc6e7774f74d
https://github.com/MythTV/mythtv/commit/3210565b44e8363c3dafa8662179dc6e7774f74d
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythplugins/mythnetvision/mythnetvision/netcommon.cpp
M mythtv/programs/mythbackend/test/test_recordingextender/test_recordingextender.cpp
M mythtv/programs/mythfrontend/upnpscanner.cpp
M mythtv/programs/mythfrontend/videodlg.cpp
Log Message:
-----------
Explicitly convert QStrings to QUrls. (other)
Qt has deemed marked the implicit conversion of a QString to a QUrl as
a sub-optimal or dangerous API. Update code that relies on this
implicit casting to perform an explicit call to construct a QUrl. Add
some checking to validate the generated QUrl structures.
https://doc.qt.io/qt-6/qurl.html#QT_NO_URL_CAST_FROM_STRING
https://doc.qt.io/qt-6/qtglobal.html#QT_ENABLE_STRICT_MODE_UP_TO
Commit: 5f528c23c49ed69cdd9bada5fad8e89f38286b76
https://github.com/MythTV/mythtv/commit/5f528c23c49ed69cdd9bada5fad8e89f38286b76
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythtv/libs/libmythmetadata/metadataimagedownload.cpp
M mythtv/libs/libmythtv/recorders/ExternalStreamHandler.cpp
Log Message:
-----------
Use function overrides that accept a QByteArray.
Qt has deemed marked the automatic conversion of a QByteArray to a
"const char*" as one of their sub-optimal or dangerous APIs. A couple
of places in the code rely on this automatic conversion to pass the
start and length of a QByteArray's data to another function, when they
could just pass the QByteArray as a single argument. Make these
changes to use the simpler function override.
See https://doc.qt.io/qt-6/qtglobal.html#QT_ENABLE_STRICT_MODE_UP_TO
Commit: 23e8609c09b142853471186f7130392d8328acd6
https://github.com/MythTV/mythtv/commit/23e8609c09b142853471186f7130392d8328acd6
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythplugins/mythgame/mythgame/gamesettings.cpp
M mythplugins/mythmusic/mythmusic/cddecoder.cpp
M mythtv/libs/libmythbase/http/mythhttpmetamethod.cpp
M mythtv/libs/libmythbase/http/mythhttpmetaservice.cpp
M mythtv/libs/libmythbase/http/mythwsdl.cpp
M mythtv/libs/libmythbase/http/mythxsd.cpp
M mythtv/libs/libmythbase/http/serialisers/mythxmlplistserialiser.cpp
M mythtv/libs/libmythbase/http/serialisers/mythxmlserialiser.cpp
M mythtv/libs/libmythbase/mythmiscutil.cpp
M mythtv/libs/libmythmetadata/metadataimagedownload.cpp
M mythtv/libs/libmythtv/AirPlay/mythraopconnection.cpp
M mythtv/libs/libmythtv/DVD/mythdvdinfo.cpp
M mythtv/libs/libmythtv/HLS/httplivestreambuffer.cpp
M mythtv/libs/libmythtv/cardutil.cpp
M mythtv/libs/libmythtv/channelscan/hdhrchannelfetcher.cpp
M mythtv/libs/libmythtv/decoders/mythdrmprimecontext.cpp
M mythtv/libs/libmythtv/decoders/mythmediacodeccontext.cpp
M mythtv/libs/libmythtv/decoders/mythnvdeccontext.cpp
M mythtv/libs/libmythtv/diseqcsettings.cpp
M mythtv/libs/libmythtv/io/mythstreamingbuffer.cpp
M mythtv/libs/libmythtv/mpeg/freesat_huffman.cpp
M mythtv/libs/libmythtv/mythavutil.cpp
M mythtv/libs/libmythtv/mythtvmenu.cpp
M mythtv/libs/libmythtv/opengl/mythvaapiinterop.cpp
M mythtv/libs/libmythtv/osd.cpp
M mythtv/libs/libmythtv/recorders/streamhandler.cpp
M mythtv/libs/libmythui/mediamonitor-darwin.cpp
M mythtv/libs/libmythui/mediamonitor-unix.cpp
M mythtv/libs/libmythui/mythmainwindow.cpp
M mythtv/libs/libmythui/myththemedmenu.cpp
M mythtv/libs/libmythui/mythuibutton.cpp
M mythtv/libs/libmythui/mythuiclock.cpp
M mythtv/libs/libmythui/mythuispinbox.cpp
M mythtv/libs/libmythui/mythuitext.cpp
M mythtv/libs/libmythui/mythuithemecache.cpp
M mythtv/libs/libmythui/themeinfo.cpp
M mythtv/libs/libmythupnp/serializers/serializer.cpp
M mythtv/libs/libmythupnp/serializers/xmlSerializer.cpp
M mythtv/programs/mythbackend/servicesv2/v2content.cpp
M mythtv/programs/mythbackend/servicesv2/v2dvr.cpp
M mythtv/programs/mythbackend/servicesv2/v2guide.cpp
M mythtv/programs/mythcommflag/HistogramAnalyzer.cpp
M mythtv/programs/mythfrontend/serviceHosts/servicehost.cpp
M mythtv/programs/mythfrontend/serviceHosts/wsdl.cpp
M mythtv/programs/mythfrontend/serviceHosts/xsd.cpp
M mythtv/programs/mythfrontend/servicecontracts/service.cpp
Log Message:
-----------
Explicitly convert from a QByteArray to a 'const char*'
Qt has deemed marked the automatic conversion of a QByteArray to a
"const char*" as one of their sub-optimal or dangerous APIs. Many of
places in the code rely on this automatic conversion to pass the start
of a QByteArray's data to another function. These now need an
explicit call to constData() to perform the conversion.
See https://doc.qt.io/qt-6/qtglobal.html#QT_ENABLE_STRICT_MODE_UP_TO
Commit: 6d7f1c907d090517dbf75a51278f71ee5b40077f
https://github.com/MythTV/mythtv/commit/6d7f1c907d090517dbf75a51278f71ee5b40077f
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythtv/libs/libmythbase/http/mythhttps.cpp
M mythtv/libs/libmythui/mythdisplay.cpp
Log Message:
-----------
Convert QObject::connect() call to include a QObject receiver.
Qt has marked the QObject::connect() calls without a receiver object
to be a sub-optimal or dangerous API. The concern is that the
callback functions may depend upon receiver state, and that state
might have been destroyed. With a receiver object, the signal is
disconnected if the receiver object is destroyed.
In this case, the only data used by the functors is data provided as
callback arguments, so simply use the sender object as the receiver
object.
https://doc.qt.io/qt-6/qobject.html#QT_NO_CONTEXTLESS_CONNECT
https://doc.qt.io/qt-6/qtglobal.html#QT_ENABLE_STRICT_MODE_UP_TO
Commit: 10f0b7633a6643ef52f76b67bc01b59c68567095
https://github.com/MythTV/mythtv/commit/10f0b7633a6643ef52f76b67bc01b59c68567095
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythtv/libs/libmythtv/mythplayerui.cpp
M mythtv/libs/libmythtv/mythplayervideoui.cpp
M mythtv/libs/libmythtv/tv_play.cpp
Log Message:
-----------
Convert QObject::connect() call to include a QObject receiver. (libmythtv)
Qt has marked the QObject::connect() calls without a receiver object
to be a sub-optimal or dangerous API. The concern is that the
callback functions may depend upon receiver state, and that state
might have been destroyed. With a receiver object, the signal is
disconnected if the receiver object is destroyed.
In these cases, the functor is using data from the current object, so
add "this" as the receiver object.
https://doc.qt.io/qt-6/qobject.html#QT_NO_CONTEXTLESS_CONNECT
https://doc.qt.io/qt-6/qtglobal.html#QT_ENABLE_STRICT_MODE_UP_TO
Commit: 7506fcfa1a8f72e7d31fe10ec0cae76d4173a976
https://github.com/MythTV/mythtv/commit/7506fcfa1a8f72e7d31fe10ec0cae76d4173a976
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M mythtv/programs/mythfrontend/mythfrontend.cpp
M mythtv/programs/mythfrontend/statusbox.cpp
Log Message:
-----------
Convert QObject::connect() call to include a QObject receiver. (frontend)
Qt has marked the QObject::connect() calls without a receiver object
to be a sub-optimal or dangerous API. The concern is that the
callback functions may depend upon receiver state, and that state
might have been destroyed. With a receiver object, the signal is
disconnected if the receiver object is destroyed.
In these case, the only data used by the functors is data provided as
callback arguments, so simply use the sender object as the receiver
object.
https://doc.qt.io/qt-6/qobject.html#QT_NO_CONTEXTLESS_CONNECT
https://doc.qt.io/qt-6/qtglobal.html#QT_ENABLE_STRICT_MODE_UP_TO
Commit: df989404d56cf56b460e2675025918354135d155
https://github.com/MythTV/mythtv/commit/df989404d56cf56b460e2675025918354135d155
Author: David Hampton <mythtv at love2code.net>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M cmake/MythFindQt.cmake
M cmake/VersionInformation.cmake
M mythplugins/CMakeLists.txt
M mythtv/CMakeLists.txt
M mythtv/configure
Log Message:
-----------
Update setting of Qt deprecated function checks.
Qt5 used the command line argument QT_DISABLE_DEPRECATED_BEFORE to
disable old functionality. In Qt6 this argument was changed to
QT_DISABLE_DEPRECATED_UP_TO. Later versions of Qt6 added a new
QT_ENABLE_STRICT_MODE_UP_TO command line argument to "disable APIs that
are deemed suboptimal or dangerous".
Update configure/cmake to set the new command line arguments properly.
Also, now specify the latest Qt version number that MythTV supports
instead of the currently installed version number.
Compare: https://github.com/MythTV/mythtv/compare/64c78ab70111...df989404d56c
To unsubscribe from these emails, change your notification settings at https://github.com/MythTV/mythtv/settings/notifications
More information about the mythtv-commits
mailing list