Author: hobbes1069
Update of /cvs/free/rpms/mythtv/F-16
In directory se02.es.rpmfusion.net:/tmp/cvs-serv11217
Added Files:
mythtv-0.24.2-fixes.patch
Log Message:
Add missing patch.
mythtv-0.24.2-fixes.patch:
avformatdecoder.cpp | 9 +++++++--
cc708decoder.cpp | 7 +++++++
cc708decoder.h | 1 +
eitfixup.h | 2 +-
recordinginfo.cpp | 7 ++++++-
5 files changed, 22 insertions(+), 4 deletions(-)
--- NEW FILE mythtv-0.24.2-fixes.patch ---
mythtv/libs/libmythtv/avformatdecoder.cpp | 9 +++++++--
mythtv/libs/libmythtv/cc708decoder.cpp | 7 +++++++
mythtv/libs/libmythtv/cc708decoder.h | 1 +
mythtv/libs/libmythtv/eitfixup.h | 2 +-
mythtv/libs/libmythtv/recordinginfo.cpp | 7 ++++++-
5 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/mythtv/libs/libmythtv/avformatdecoder.cpp
b/mythtv/libs/libmythtv/avformatdecoder.cpp
index 896ad11..655cfa8 100644
--- a/mythtv/libs/libmythtv/avformatdecoder.cpp
+++ b/mythtv/libs/libmythtv/avformatdecoder.cpp
@@ -2577,14 +2577,19 @@ void AvFormatDecoder::DecodeDTVCC(const uint8_t *buf, uint len)
{
uint cc_code = buf[2+(cur*3)];
bool cc_valid = cc_code & 0x04;
- if (!cc_valid)
- continue;
uint data1 = buf[3+(cur*3)];
uint data2 = buf[4+(cur*3)];
uint data = (data2 << 8) | data1;
uint cc_type = cc_code & 0x03;
+ if (!cc_valid)
+ {
+ if (cc_type >= 0x2)
+ ccd708->decode_cc_null();
+ continue;
+ }
+
if (cc_type <= 0x1) // EIA-608 field-1/2
{
if (cc608_good_parity(cc608_parity_table, data))
diff --git a/mythtv/libs/libmythtv/cc708decoder.cpp
b/mythtv/libs/libmythtv/cc708decoder.cpp
index 4214772..4fe3bbf 100644
--- a/mythtv/libs/libmythtv/cc708decoder.cpp
+++ b/mythtv/libs/libmythtv/cc708decoder.cpp
@@ -62,6 +62,13 @@ void CC708Decoder::decode_cc_data(uint cc_type, uint data1, uint
data2)
}
}
+void CC708Decoder::decode_cc_null(void)
+{
+ if (partialPacket.size && reader)
+ parse_cc_packet(reader, &partialPacket, last_seen);
+ partialPacket.size = 0;
+}
+
void CC708Decoder::services(uint seconds, bool seen[64]) const
{
time_t now = time(NULL);
diff --git a/mythtv/libs/libmythtv/cc708decoder.h b/mythtv/libs/libmythtv/cc708decoder.h
index 4a00073..2b403aa 100644
--- a/mythtv/libs/libmythtv/cc708decoder.h
+++ b/mythtv/libs/libmythtv/cc708decoder.h
@@ -32,6 +32,7 @@ class CC708Decoder
~CC708Decoder() {}
void decode_cc_data(uint cc_type, uint data1, uint data2);
+ void decode_cc_null(void);
/// \return Services seen in last few seconds as specified.
void services(uint seconds, bool[64]) const;
diff --git a/mythtv/libs/libmythtv/eitfixup.h b/mythtv/libs/libmythtv/eitfixup.h
index a724506..39f732a 100644
--- a/mythtv/libs/libmythtv/eitfixup.h
+++ b/mythtv/libs/libmythtv/eitfixup.h
@@ -134,8 +134,8 @@ class EITFixUp
const QRegExp m_ukYearColon;
const QRegExp m_ukExclusionFromSubtitle;
const QRegExp m_ukCompleteDots;
- const QRegExp m_ukQuotedSubtitle;
const QRegExp m_ukAllNew;
+ const QRegExp m_ukQuotedSubtitle;
const QRegExp m_comHemCountry;
const QRegExp m_comHemDirector;
const QRegExp m_comHemActor;
diff --git a/mythtv/libs/libmythtv/recordinginfo.cpp
b/mythtv/libs/libmythtv/recordinginfo.cpp
index 3e2e7a9..9f90d97 100644
--- a/mythtv/libs/libmythtv/recordinginfo.cpp
+++ b/mythtv/libs/libmythtv/recordinginfo.cpp
@@ -518,7 +518,12 @@ void RecordingInfo::ApplyRecordStateChange(RecordingType newstate,
bool save)
record->m_type = newstate;
if (save)
- record->Save();
+ {
+ if (newstate == kNotRecording)
+ record->Delete();
+ else
+ record->Save();
+ }
}
/** \fn RecordingInfo::ApplyRecordRecPriorityChange(int)