commit 2ca65c9831959122a993aeaca5f67852ba3774f3
Author: Andrew Bauer <zonexpertconsulting(a)outlook.com>
Date: Sat Jun 25 08:22:01 2022 -0500
Update to latest fixes/32, fixes rpmfusion bz#6327
mythtv.spec | 9 +-
v32.0..7077a824d2.patch => v32.0..4cf469cbbf.patch | 394 +++++++++++++++++++--
2 files changed, 365 insertions(+), 38 deletions(-)
---
diff --git a/mythtv.spec b/mythtv.spec
index d5ea444..e4a2567 100644
--- a/mythtv.spec
+++ b/mythtv.spec
@@ -1,9 +1,9 @@
# The full MythTV Version string is computed from the output of git describe.
-%global vers_string v32.0-36-g7077a824d2
+%global vers_string v32.0-44-g4cf469cbbf
# The git date of last commit on mythtv repo
# git_date=$(git log -1 --format=%cd --date=format:"%Y%m%d")
-%global git_date 20220605
+%global git_date 20220625
# Specfile for building MythTV and MythPlugins RPMs from a git checkout.
#
@@ -75,7 +75,7 @@
#
Name: mythtv
Version: 32.0
-Release: 3%{rel_string}%{?dist}
+Release: 1%{rel_string}%{?dist}
Summary: A digital video recorder (DVR) application
# The primary license is GPLv2+, but bits are borrowed from a number of
@@ -1400,6 +1400,9 @@ exit 0
################################################################################
%changelog
+* Sat Jun 25 2022 Andrew Bauer <zonexpertconsulting(a)outlook.com> -
32.0-1.44.20220625gitg4cf469cbb
+- Update to latest fixes/32, fixes rpmfusion bz#6327
+
* Tue Jun 21 2022 Paul Howarth <paul(a)city-fan.org> -
32.0-3.36.20220605git7077a824d2
- Perl 5.36 rebuild
diff --git a/v32.0..7077a824d2.patch b/v32.0..4cf469cbbf.patch
similarity index 99%
rename from v32.0..7077a824d2.patch
rename to v32.0..4cf469cbbf.patch
index a5300eb..735702b 100644
--- a/v32.0..7077a824d2.patch
+++ b/v32.0..4cf469cbbf.patch
@@ -1,7 +1,7 @@
From 28d360e98916ae065292fa29675c48faff742923 Mon Sep 17 00:00:00 2001
From: Paul Harrison <paul(a)mythqml.net>
Date: Thu, 24 Feb 2022 11:40:20 +0000
-Subject: [PATCH 01/35] Revert "NuppelVideoRecorder.cpp: convert to QtEndian"
+Subject: [PATCH 01/43] Revert "NuppelVideoRecorder.cpp: convert to QtEndian"
This commit is causing problems with the Ubuntu s390x builds and
possibly other big endian builds.
@@ -165,7 +165,7 @@ index d880ff574bf..81ac26cc4ff 100644
From 56275b303bf7c7fec99993d1fff568708d0b985b Mon Sep 17 00:00:00 2001
From: Anton Khirnov <anton(a)khirnov.net>
Date: Thu, 24 Feb 2022 11:11:28 -0500
-Subject: [PATCH 02/35] configure: link to libatomic when it's present
+Subject: [PATCH 02/43] 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.
@@ -234,7 +234,7 @@ index c9fc6dc1ba4..19cae20bab6 100755
From 75cf5040eff2aa6b7dc075462311de7c277b9375 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin(a)martin.st>
Date: Thu, 24 Feb 2022 20:00:00 -0500
-Subject: [PATCH 03/35] configure: arm: Don't add -march= to the compiler if no
+Subject: [PATCH 03/43] configure: arm: Don't add -march= to the compiler if no
preference was passed
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -296,7 +296,7 @@ index 19cae20bab6..a270a5a9fcf 100755
From 75b942fd8cdf6979463c72c75e2919e18552c644 Mon Sep 17 00:00:00 2001
From: Peter Bennett <pbennett(a)mythtv.org>
Date: Sat, 26 Feb 2022 11:13:47 -0500
-Subject: [PATCH 04/35] Fix CPU detection for armhf
+Subject: [PATCH 04/43] 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.
@@ -329,7 +329,7 @@ index d7349a91cd4..fda2057a282 100755
From 44a45272517a8122369d74f149dc86432afe3ac0 Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Mon, 28 Feb 2022 21:23:06 +0100
-Subject: [PATCH 05/35] Remove extraneous ? character in Sat>IP OPTIONS message
+Subject: [PATCH 05/43] 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.
@@ -369,7 +369,7 @@ index 502b49f8d12..531eb64b009 100644
From e78a0c0042ea20240adef7566676ddeec4c2fb88 Mon Sep 17 00:00:00 2001
From: David Engel <dengel(a)mythtv.org>
Date: Fri, 4 Mar 2022 10:44:01 -0600
-Subject: [PATCH 06/35] Fix playback hangs at end of file.
+Subject: [PATCH 06/43] Fix playback hangs at end of file.
Refs #511
@@ -403,7 +403,7 @@ index 8f7ac450c67..6a9f0738ebd 100644
From 043507cd6f638af4033ae7faca00dec4edc8deb2 Mon Sep 17 00:00:00 2001
From: Scott Theisen <scott.the.elm(a)gmail.com>
Date: Wed, 9 Mar 2022 20:53:30 -0600
-Subject: [PATCH 07/35] Fig logic bug in std::chrono conversion commit
+Subject: [PATCH 07/43] Fig logic bug in std::chrono conversion commit
c71a8672.
Signed-off-by: David Engel <dengel(a)mythtv.org>
@@ -429,7 +429,7 @@ index 6a9f0738ebd..ebd060fd4d5 100644
From ae60e8302fab769dd0aacb091d195b1cef08ad9c Mon Sep 17 00:00:00 2001
From: Scott Theisen <scott.the.elm(a)gmail.com>
Date: Thu, 10 Mar 2022 20:30:13 -0600
-Subject: [PATCH 08/35] Use separate end-of-playback checks for
+Subject: [PATCH 08/43] Use separate end-of-playback checks for
audio-only/mostly content and normal/video-only content.
Refs #511
@@ -479,7 +479,7 @@ index 7041fa996fe..bb50f71d8cc 100644
From 36c5630035864fa5d8efdaec8b0ef6c98067bc67 Mon Sep 17 00:00:00 2001
From: David Hampton <mythtv(a)love2code.net>
Date: Mon, 14 Mar 2022 11:57:26 -0400
-Subject: [PATCH 09/35] Fix MythDate::formatTime to handle times greater than
+Subject: [PATCH 09/43] Fix MythDate::formatTime to handle times greater than
24 hours.
(cherry picked from commit 2d7a09e40f55c13e203994aa4031f7de111fc97f)
@@ -562,7 +562,7 @@ index 17722debbec..e84e536e3ec 100644
From d5fe42fc6b994c716c70901173d876c53200b50c Mon Sep 17 00:00:00 2001
From: David Hampton <mythtv(a)love2code.net>
Date: Tue, 15 Mar 2022 17:41:48 -0400
-Subject: [PATCH 10/35] Better fix for MythDate::formatTime to handle
+Subject: [PATCH 10/43] Better fix for MythDate::formatTime to handle
overflows.
Fixes #520.
@@ -855,7 +855,7 @@ index 85aaaadd14f..9b0e604bb1c 100644
From 9dcf2bb01eba126d304c323503c78ce36bbf595b Mon Sep 17 00:00:00 2001
From: Scott Theisen <scott.the.elm(a)gmail.com>
Date: Wed, 16 Mar 2022 12:42:28 -0400
-Subject: [PATCH 11/35] mythcommflag/CommDetector2.cpp: fix missed
+Subject: [PATCH 11/43] mythcommflag/CommDetector2.cpp: fix missed
MythDate::fortmatTime() uses
hh should be HH; missed chop not replaced.
@@ -900,7 +900,7 @@ index 244e8693602..aef37a8c1cf 100644
From 5432d11672605878a7ab1964996edc7b0103087d Mon Sep 17 00:00:00 2001
From: Scott Theisen <scott.the.elm(a)gmail.com>
Date: Wed, 16 Mar 2022 14:09:35 -0400
-Subject: [PATCH 12/35] MythDate::formatTime(): update doxygen comment
+Subject: [PATCH 12/43] MythDate::formatTime(): update doxygen comment
(cherry picked from commit 259a7fbe911da2ca229a513786172fcefeb8af07)
---
@@ -928,7 +928,7 @@ index 57eaceecd78..65c2b168e63 100644
From f69ce764b78a15989455957eda235d5b1993a08a Mon Sep 17 00:00:00 2001
From: David Hampton <mythtv(a)love2code.net>
Date: Thu, 24 Mar 2022 17:44:32 -0400
-Subject: [PATCH 13/35] Validate AV stream index before accessing stream.
+Subject: [PATCH 13/43] Validate AV stream index before accessing stream.
Fixes #528.
@@ -956,7 +956,7 @@ index 95a0a8d9489..8af5cc853e8 100644
From dcf7e13cce89f363d20a9cdd3922a7741cc214a9 Mon Sep 17 00:00:00 2001
From: John Hoyt <john.hoyt(a)gmail.com>
Date: Sun, 3 Apr 2022 07:35:20 -0400
-Subject: [PATCH 14/35] Add missing include <array> to mythdate
+Subject: [PATCH 14/43] Add missing include <array> to mythdate
---
mythtv/libs/libmythbase/mythdate.cpp | 1 +
@@ -978,7 +978,7 @@ index 65c2b168e63..e7d2a99188a 100644
From 5b54d3bf89a6278c01169287ace4a0fd02cc2233 Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Tue, 29 Mar 2022 22:26:45 +0200
-Subject: [PATCH 15/35] Add symbolrate to transport list in mythtv-setup log
+Subject: [PATCH 15/43] Add symbolrate to transport list in mythtv-setup log
The symbolrate is added to the transport list
that is logged by mythtv-setup.
@@ -1014,7 +1014,7 @@ index c7bc185f6d7..303c2c28f4e 100644
From 560b425776dfced77ceb9a83b13f32cf00ff2d94 Mon Sep 17 00:00:00 2001
From: Peter Bennett <pbennett(a)mythtv.org>
Date: Thu, 7 Apr 2022 19:51:20 -0400
-Subject: [PATCH 16/35] Service API V2: Last Play Position APIs
+Subject: [PATCH 16/43] Service API V2: Last Play Position APIs
This adds 4 APIs:
V2Dvr::GetLastPlayPos
@@ -1319,7 +1319,7 @@ index 8e339bef1dd..639236a044a 100644
From 1eacadd5f413197746cb61ea036c522c65f95936 Mon Sep 17 00:00:00 2001
From: acediac <git.zon(a)dfgh.net>
Date: Sat, 9 Apr 2022 22:49:25 +1000
-Subject: [PATCH 17/35] mythfrontend audio fixes for macOS
+Subject: [PATCH 17/43] mythfrontend audio fixes for macOS
- Fixed audio device detection
- Fixed Surround Sound channel capability detection (5.1+ speakers)
@@ -1611,7 +1611,7 @@ index ef5cacc2913..7e18a10a62c 100644
From cd109ec6c08f578e1b0965e4726e6046d75af8e8 Mon Sep 17 00:00:00 2001
From: acediac <git.zon(a)dfgh.net>
Date: Sat, 9 Apr 2022 22:57:38 +1000
-Subject: [PATCH 18/35] Potential memory corruption problems in audiooutputbase
+Subject: [PATCH 18/43] Potential memory corruption problems in audiooutputbase
(cherry picked from commit 81aeb49c456ff4ecab82c2297b22c38bd70d706d)
---
@@ -1662,7 +1662,7 @@ index 69c28f2cc3d..d920d14dd0c 100644
From 9070e9e65b42b19b3a54c21117a07f627418999f Mon Sep 17 00:00:00 2001
From: David Hampton <mythtv(a)love2code.net>
Date: Fri, 8 Apr 2022 13:10:03 -0400
-Subject: [PATCH 19/35] Fix zmserver compilation on rawhide.
+Subject: [PATCH 19/43] Fix zmserver compilation on rawhide.
(cherry picked from commit 9d2c68fdf4512be7aac95310d0bc69d54be63ac3)
---
@@ -1685,7 +1685,7 @@ index 5e13cb48e0b..f6ac052867a 100644
From bbd8355d8dbb5ef78080312c2d632232ea03b504 Mon Sep 17 00:00:00 2001
From: Stuart Auchterlonie <stuarta(a)mythtv.org>
Date: Mon, 11 Apr 2022 22:20:23 +0100
-Subject: [PATCH 20/35] [webapp] fix encoder status when recording
+Subject: [PATCH 20/43] [webapp] fix encoder status when recording
(cherry picked from commit 3da1ca7bc3c72a41cf7a910680cfb8e5ead4b49e)
---
@@ -1759,7 +1759,7 @@ index 554b0193b17..312ccafcf63 100644
From bfae001d5cbb6e6012c3971e605d961e639e1eb7 Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Sun, 3 Apr 2022 18:39:20 +0200
-Subject: [PATCH 21/35] Determine tuner type in ChannelScanSM constructor
+Subject: [PATCH 21/43] Determine tuner type in ChannelScanSM constructor
Initialize the m_scanDTVTunerType with the tuner type as found
in the card already in the ChannelScanSM constructor.
@@ -1796,7 +1796,7 @@ index d7de02b7fd9..12411eb9196 100644
From ec4558f3e1bbc021d771276a288039924f181a8b Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Wed, 20 Apr 2022 21:39:32 +0200
-Subject: [PATCH 22/35] Update preview picture after record playback exit
+Subject: [PATCH 22/43] 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
@@ -1876,7 +1876,7 @@ index 653b37c344b..40f5cda7e75 100644
From daa4e7e4474c019714d21674ee7e18f3bc89624d Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Fri, 22 Apr 2022 21:04:59 +0200
-Subject: [PATCH 23/35] Animation update interval lower bound
+Subject: [PATCH 23/43] 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
@@ -1912,7 +1912,7 @@ index bfdc30710ff..69f9da7e655 100644
From 130f7054da73f8a23d04aacf683d743a449a4ec5 Mon Sep 17 00:00:00 2001
From: David Engel <dengel(a)mythtv.org>
Date: Tue, 26 Apr 2022 16:03:25 -0500
-Subject: [PATCH 24/35] Fix wakeup calculations in HLS.
+Subject: [PATCH 24/43] 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
@@ -1989,7 +1989,7 @@ index 2294f107a8a..22d1f377b72 100644
From 839d0f9ab6c7ced958bb5372376ab862461ae6d8 Mon Sep 17 00:00:00 2001
From: David Engel <dengel(a)mythtv.org>
Date: Tue, 26 Apr 2022 17:12:08 -0500
-Subject: [PATCH 25/35] Add cast needed by some compilers to last previous
+Subject: [PATCH 25/43] Add cast needed by some compilers to last previous
commit.
(cherry picked from commit e2877111bec395c6baa0468fc41adbb3526e2d69)
@@ -2015,7 +2015,7 @@ index 22d1f377b72..4db927faac7 100644
From ea669e1f825896355ebc3f428553d887b4d5b4c1 Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Wed, 27 Apr 2022 23:42:50 +0200
-Subject: [PATCH 26/35] Jump back in live TV
+Subject: [PATCH 26/43] 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
@@ -2045,7 +2045,7 @@ index ebd060fd4d5..b68254f31bd 100644
From d80a8da3f0163e6020ce2b6c76b5b31571fae2df Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Fri, 29 Apr 2022 23:35:08 +0200
-Subject: [PATCH 27/35] Jump forward to next live TV segment
+Subject: [PATCH 27/43] 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
@@ -2077,7 +2077,7 @@ index b68254f31bd..c8c742725c2 100644
From c4fc53c651edbcf695694ee12807b9bc1b4f79ca Mon Sep 17 00:00:00 2001
From: Peter Bennett <pbennett(a)mythtv.org>
Date: Sat, 7 May 2022 17:43:11 -0400
-Subject: [PATCH 28/35] Services V2: Fix content length when length > 2 GB
+Subject: [PATCH 28/43] 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.
@@ -2106,7 +2106,7 @@ index 5e685632130..c4611197857 100644
From 26079f815a1723021dbe6a13eca0e66018f71e7b Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Fri, 6 May 2022 20:47:05 +0200
-Subject: [PATCH 29/35] Free AVPacket with av_packet_free
+Subject: [PATCH 29/43] 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.
@@ -2161,7 +2161,7 @@ index 8af5cc853e8..4e3f9691a1b 100644
From 53c77f01324e5d35dfb08827e16cb0a83b702213 Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Thu, 12 May 2022 23:21:08 +0200
-Subject: [PATCH 30/35] EIT start delay
+Subject: [PATCH 30/43] EIT start delay
Compute the second component of the EIT start delay with the highest
input number instead of with the number of inputs.
@@ -2223,7 +2223,7 @@ index f2d1a6eb8f2..7c37a2ed49a 100644
From b6286af7d82f81082f8d07dfcee3f7f8c9ab2542 Mon Sep 17 00:00:00 2001
From: Roland Ernst <rcrernst(a)gmail.com>
Date: Thu, 12 May 2022 21:06:41 +0200
-Subject: [PATCH 31/35] Python Bindings: Add compatibility to MariaDB 10.6
+Subject: [PATCH 31/43] 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.
@@ -2357,7 +2357,7 @@ index d02de716032..d33bb70666b 100644
From 98c82d515d53ef57431d6bbfcd4264543a42426b Mon Sep 17 00:00:00 2001
From: David Hampton <mythtv(a)love2code.net>
Date: Thu, 26 May 2022 12:30:10 -0400
-Subject: [PATCH 32/35] Fix problem with GetStatus API call while playing
+Subject: [PATCH 32/43] Fix problem with GetStatus API call while playing
video.
This bug was introduced while fixing a problem where all the network
@@ -2436,7 +2436,7 @@ index a4228de4d3a..b5f937f4f01 100644
From ef9d17307fa1237e35234dd96be55c95c42cde88 Mon Sep 17 00:00:00 2001
From: Korbinian Rosenegger <kroseneg(a)schmidham.net>
Date: Fri, 11 Mar 2022 09:57:52 +0100
-Subject: [PATCH 33/35] Show transcoding profiles menu when job is _not_
+Subject: [PATCH 33/43] Show transcoding profiles menu when job is _not_
running
The transcoding profiles menu needs to be shown when the transcoding job
@@ -2465,7 +2465,7 @@ index abed3de46bb..8e9236b28e8 100644
From 8347647e4208e0963270eddd1724182c61f3d15d Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Tue, 31 May 2022 23:58:59 +0200
-Subject: [PATCH 34/35] Change default Unicable frequency to 1210MHz
+Subject: [PATCH 34/43] 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.
@@ -2501,7 +2501,7 @@ index e3f01619d7e..191daf8c83c 100644
From 7077a824d2e746f305bcb215ea687220abaa17db Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas(a)kldo.nl>
Date: Sat, 4 Jun 2022 21:05:22 +0200
-Subject: [PATCH 35/35] Fix AdaptationFieldSize function
+Subject: [PATCH 35/43] 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
@@ -2525,3 +2525,327 @@ index 0a971c436ff..a15ff12c346 100644
bool HasPayload(void) const { return bool(m_tsData[3] & 0x10); }
bool GetDiscontinuityIndicator(void) const
+
+From 66573a3f9b95bd6b218e363da2eac76738f990c4 Mon Sep 17 00:00:00 2001
+From: David Hampton <mythtv(a)love2code.net>
+Date: Wed, 15 Jun 2022 15:54:05 -0400
+Subject: [PATCH 36/43] 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
+---
+ mythplugins/mythmusic/mythmusic/avfdecoder.cpp | 2 +-
+ mythtv/programs/mythtranscode/mpeg2fix.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mythplugins/mythmusic/mythmusic/avfdecoder.cpp
b/mythplugins/mythmusic/mythmusic/avfdecoder.cpp
+index 2b98a85465c..75f0c1838d6 100644
+--- a/mythplugins/mythmusic/mythmusic/avfdecoder.cpp
++++ b/mythplugins/mythmusic/mythmusic/avfdecoder.cpp
+@@ -218,7 +218,7 @@ static void myth_av_log(void *ptr, int level, const char* fmt,
va_list vl)
+
.arg(reinterpret_cast<size_t>(avc),QT_POINTER_SIZE,8,QChar('0'));
+ }
+
+- s_fullLine += QString::asprintf(fmt, vl);
++ s_fullLine += QString::vasprintf(fmt, vl);
+ if (s_fullLine.endsWith("\n"))
+ {
+ LOG(verbose_mask, verbose_level, s_fullLine.trimmed());
+diff --git a/mythtv/programs/mythtranscode/mpeg2fix.cpp
b/mythtv/programs/mythtranscode/mpeg2fix.cpp
+index 481a156c667..42aa7ad8330 100644
+--- a/mythtv/programs/mythtranscode/mpeg2fix.cpp
++++ b/mythtv/programs/mythtranscode/mpeg2fix.cpp
+@@ -71,7 +71,7 @@ static void my_av_print(void *ptr, int level, const char* fmt, va_list
vl)
+ if (level > AV_LOG_INFO)
+ return;
+
+- s_fullLine += QString::asprintf(fmt, vl);
++ s_fullLine += QString::vasprintf(fmt, vl);
+ if (s_fullLine.endsWith("\n"))
+ {
+ s_fullLine.chop(1);
+
+From a26786f5b4f6890557274ab8435258447db7915c Mon Sep 17 00:00:00 2001
+From: David Hampton <mythtv(a)love2code.net>
+Date: Thu, 16 Jun 2022 19:42:15 -0400
+Subject: [PATCH 37/43] Fix the std::vector ring_peek/poke functions to use
+ pass by reference.
+
+Refs #581
+
+(cherry picked from commit 80f6c9f60b8306fa7d13fccab38ec4ad1e4ec576)
+---
+ .../programs/mythtranscode/external/replex/ringbuffer.cpp | 8 ++++----
+ .../programs/mythtranscode/external/replex/ringbuffer.h | 8 ++++----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/mythtv/programs/mythtranscode/external/replex/ringbuffer.cpp
b/mythtv/programs/mythtranscode/external/replex/ringbuffer.cpp
+index 2a76c68377e..508137118dd 100644
+--- a/mythtv/programs/mythtranscode/external/replex/ringbuffer.cpp
++++ b/mythtv/programs/mythtranscode/external/replex/ringbuffer.cpp
+@@ -148,12 +148,12 @@ int ring_peek(ringbuffer *rbuf, uint8_t *data, unsigned int count,
uint32_t off)
+ return count;
+ }
+
+-int ring_peek(ringbuffer *rbuf, peek_poke_vec data, unsigned int count, uint32_t off)
++int ring_peek(ringbuffer *rbuf, peek_poke_vec& data, unsigned int count, uint32_t
off)
+ {
+ return ring_peek(rbuf, data.data(), count, off);
+ }
+
+-int ring_peek(ringbuffer *rbuf, peek_poke_vec data, uint32_t off)
++int ring_peek(ringbuffer *rbuf, peek_poke_vec& data, uint32_t off)
+ {
+ return ring_peek(rbuf, data.data(), data.size(), off);
+ }
+@@ -187,12 +187,12 @@ int ring_poke(ringbuffer *rbuf, uint8_t *data, unsigned int count,
uint32_t off)
+ return count;
+ }
+
+-int ring_poke(ringbuffer *rbuf, peek_poke_vec data, unsigned int count, uint32_t off)
++int ring_poke(ringbuffer *rbuf, peek_poke_vec& data, unsigned int count, uint32_t
off)
+ {
+ return ring_poke(rbuf, data.data(), count, off);
+ }
+
+-int ring_poke(ringbuffer *rbuf, peek_poke_vec data, uint32_t off)
++int ring_poke(ringbuffer *rbuf, peek_poke_vec& data, uint32_t off)
+ {
+ return ring_poke(rbuf, data.data(), data.size(), off);
+ }
+diff --git a/mythtv/programs/mythtranscode/external/replex/ringbuffer.h
b/mythtv/programs/mythtranscode/external/replex/ringbuffer.h
+index 4c954604b53..beaf29e2bae 100644
+--- a/mythtv/programs/mythtranscode/external/replex/ringbuffer.h
++++ b/mythtv/programs/mythtranscode/external/replex/ringbuffer.h
+@@ -64,14 +64,14 @@ using peek_poke_vec = std::vector<uint8_t>;
+ int ring_read_file(ringbuffer *rbuf, int fd, int count);
+ int ring_peek(ringbuffer *rbuf, uint8_t *data, unsigned int count,
+ uint32_t off);
+- int ring_peek(ringbuffer *rbuf, peek_poke_vec data, unsigned int count,
++ int ring_peek(ringbuffer *rbuf, peek_poke_vec& data, unsigned int count,
+ uint32_t off);
+- int ring_peek(ringbuffer *rbuf, peek_poke_vec data, uint32_t off);
++ int ring_peek(ringbuffer *rbuf, peek_poke_vec& data, uint32_t off);
+ int ring_poke(ringbuffer *rbuf, uint8_t *data, unsigned int count,
+ uint32_t off);
+- int ring_poke(ringbuffer *rbuf, peek_poke_vec data, unsigned int count,
++ int ring_poke(ringbuffer *rbuf, peek_poke_vec& data, unsigned int count,
+ uint32_t off);
+- int ring_poke(ringbuffer *rbuf, peek_poke_vec data, uint32_t off);
++ int ring_poke(ringbuffer *rbuf, peek_poke_vec& data, uint32_t off);
+ int ring_skip(ringbuffer *rbuf, int count);
+
+ static inline int ring_wpos(ringbuffer *rbuf)
+
+From 3bd5ef574c77b92095c5e2089d21473666f95830 Mon Sep 17 00:00:00 2001
+From: David Hampton <mythtv(a)love2code.net>
+Date: Mon, 20 Jun 2022 00:46:37 -0400
+Subject: [PATCH 38/43] mpeg2fix needs additional setup for FFmpeg 4.3 release.
+
+Refs: #581 #588
+(cherry picked from commit 8f99b9a78611d34b08c3411cb48e910c5cc37b13)
+---
+ mythtv/programs/mythtranscode/mpeg2fix.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/mythtv/programs/mythtranscode/mpeg2fix.cpp
b/mythtv/programs/mythtranscode/mpeg2fix.cpp
+index 42aa7ad8330..cc13738174c 100644
+--- a/mythtv/programs/mythtranscode/mpeg2fix.cpp
++++ b/mythtv/programs/mythtranscode/mpeg2fix.cpp
+@@ -1256,6 +1256,9 @@ bool MPEG2fixup::BuildFrame(AVPacket *pkt, const QString&
fname)
+
+ c->qmin = c->qmax = 2;
+
++ m_picture->width = info->sequence->width;
++ m_picture->height = info->sequence->height;
++ m_picture->format = AV_PIX_FMT_YUV420P;
+ m_picture->pts = AV_NOPTS_VALUE;
+ m_picture->key_frame = 1;
+ m_picture->pict_type = AV_PICTURE_TYPE_NONE;
+
+From 7bb5162be039ba2905efea0acf85b076c9be6769 Mon Sep 17 00:00:00 2001
+From: Stuart Auchterlonie <stuarta(a)mythtv.org>
+Date: Wed, 22 Jun 2022 08:27:28 +0100
+Subject: [PATCH 39/43] extra include required on freebsd 13.1
+
+(cherry picked from commit e60b4b35a19214e541ee3647e0d07007997367c1)
+---
+ mythtv/libs/libmythtv/v4l2util.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/mythtv/libs/libmythtv/v4l2util.cpp b/mythtv/libs/libmythtv/v4l2util.cpp
+index 38e6100bb8c..695425e8134 100644
+--- a/mythtv/libs/libmythtv/v4l2util.cpp
++++ b/mythtv/libs/libmythtv/v4l2util.cpp
+@@ -8,6 +8,8 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+
++#include <array>
++
+ #include <QRegularExpression>
+
+ #define v4l2_ioctl(_FD_, _REQUEST_, _DATA_) ioctl(_FD_, _REQUEST_, _DATA_)
+
+From 501f85b389d8b626cbe4325fff1c18d84fbe25c9 Mon Sep 17 00:00:00 2001
+From: Klaas de Waal <klaas(a)kldo.nl>
+Date: Fri, 24 Jun 2022 22:46:46 +0200
+Subject: [PATCH 40/43] Revert "Trim whitespace from beginning and end of
+ lyrics lines."
+
+This reverts commit dee0dabda1c5b2c95b17f2365f8c68e8b66e3734.
+
+Refs #591
+---
+ mythtv/libs/libmythmetadata/lyricsdata.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/mythtv/libs/libmythmetadata/lyricsdata.cpp
b/mythtv/libs/libmythmetadata/lyricsdata.cpp
+index 9e371e6ad40..dccd0407468 100644
+--- a/mythtv/libs/libmythmetadata/lyricsdata.cpp
++++ b/mythtv/libs/libmythmetadata/lyricsdata.cpp
+@@ -329,7 +329,7 @@ void LyricsData::setLyrics(const QStringList &lyrics)
+ int seconds = match.capturedView(3).toInt();
+ int hundredths = match.capturedView(4).toInt();
+
+- line->m_lyric = match.captured(5).trimmed();
++ line->m_lyric = match.captured(5);
+ line->m_time = millisecondsFromParts(0, minutes, seconds,
hundredths * 10);
+ line->m_time = std::max(0ms, line->m_time - offset);
+ lastTime = line->m_time;
+@@ -337,7 +337,7 @@ void LyricsData::setLyrics(const QStringList &lyrics)
+ else
+ {
+ line->m_time = ++lastTime;
+- line->m_lyric = lyric.trimmed();
++ line->m_lyric = lyric;
+ }
+ }
+ }
+@@ -347,13 +347,13 @@ void LyricsData::setLyrics(const QStringList &lyrics)
+ if (m_parent && !m_parent->isRadio())
+ {
+ line->m_time = std::chrono::milliseconds((m_parent->Length() /
lyrics.count()) * x);
+- line->m_lyric = lyric.trimmed();
++ line->m_lyric = lyric;
+ lastTime = line->m_time;
+ }
+ else
+ {
+ line->m_time = ++lastTime;
+- line->m_lyric = lyric.trimmed();
++ line->m_lyric = lyric;
+ }
+ }
+
+
+From b09ce5de48c1eabc433615011016cee4e50cfce8 Mon Sep 17 00:00:00 2001
+From: Timothy D Witham <twitham(a)sbcglobal.net>
+Date: Sat, 25 Jun 2022 01:17:14 -0500
+Subject: [PATCH 41/43] Fix #579 LCD time by replacing colon with space.
+
+(cherry picked from commit 5c2f8090e3a1051f2459d28060eaf531177d57f8)
+---
+ mythtv/programs/mythlcdserver/lcdprocclient.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mythtv/programs/mythlcdserver/lcdprocclient.cpp
b/mythtv/programs/mythlcdserver/lcdprocclient.cpp
+index 71881f22b10..be249bed9d3 100644
+--- a/mythtv/programs/mythlcdserver/lcdprocclient.cpp
++++ b/mythtv/programs/mythlcdserver/lcdprocclient.cpp
+@@ -1891,7 +1891,7 @@ void LCDProcClient::dostdclock()
+ aString += time + "\"";
+ if ( m_timeFlash )
+ {
+- aString = aString.remove(":");
++ aString = aString.replace(':', ' ');
+ m_timeFlash = false;
+ }
+ else
+
+From 811dad0e91b223bcd3e6f17950e81d296d93fc65 Mon Sep 17 00:00:00 2001
+From: Klaas de Waal <klaas(a)kldo.nl>
+Date: Thu, 23 Jun 2022 22:13:09 +0200
+Subject: [PATCH 42/43] 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)
+---
+ mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp | 20 +++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp
b/mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp
+index b06ec00d9a2..c1ce2f102be 100644
+--- a/mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp
++++ b/mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp
+@@ -1018,6 +1018,26 @@ bool MPEGStreamData::ProcessTSPacket(const TSPacket&
tspacket)
+ if (tspacket.Scrambled())
+ return true;
+
++ // Discard broken packets with invalid adaptation field length
++ // See ISO/IEC 13818-1 : 2000 (E). 2.4.3.5 Semantic definition of fields in
adaptation field
++ if (tspacket.HasAdaptationField())
++ {
++ size_t afsize = tspacket.AdaptationFieldSize();
++ bool validsize = (tspacket.HasPayload())
++ ? afsize <= 182
++ : afsize == 183;
++ if (!validsize)
++ {
++ if (VERBOSE_LEVEL_CHECK(VB_RECORD, LOG_DEBUG))
++ {
++ LOG(VB_RECORD, LOG_DEBUG, QString("Invalid adaptation field, type
%3, size %4")
++ .arg(tspacket.AdaptationFieldControl()).arg(afsize) + "\n"
+
++ tspacket.toString());
++ }
++ return false;
++ }
++ }
++
+ if (VERBOSE_LEVEL_CHECK(VB_RECORD, LOG_DEBUG))
+ {
+ if (m_pmtSingleProgram && tspacket.PID() ==
+
+From 4cf469cbbf02eb9343de4b776d3fee6d19b6af5d Mon Sep 17 00:00:00 2001
+From: Klaas de Waal <klaas(a)kldo.nl>
+Date: Fri, 24 Jun 2022 21:33:46 +0200
+Subject: [PATCH 43/43] 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)
+---
+ mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp
b/mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp
+index c1ce2f102be..09b9599d20a 100644
+--- a/mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp
++++ b/mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp
+@@ -1028,12 +1028,9 @@ bool MPEGStreamData::ProcessTSPacket(const TSPacket&
tspacket)
+ : afsize == 183;
+ if (!validsize)
+ {
+- if (VERBOSE_LEVEL_CHECK(VB_RECORD, LOG_DEBUG))
+- {
+- LOG(VB_RECORD, LOG_DEBUG, QString("Invalid adaptation field, type
%3, size %4")
+- .arg(tspacket.AdaptationFieldControl()).arg(afsize) + "\n"
+
+- tspacket.toString());
+- }
++ LOG(VB_RECORD, LOG_DEBUG, QString("Invalid adaptation field, type %3,
size %4")
++ .arg(tspacket.AdaptationFieldControl()).arg(afsize) + "\n" +
++ tspacket.toString());
+ return false;
+ }
+ }