rpms/mythtv/F-16 mythtv-0.24.2-fixes.patch,NONE,1.1

Richard Shaw hobbes1069 at rpmfusion.org
Fri Feb 10 16:40:52 CET 2012


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)



More information about the rpmfusion-commits mailing list