rpms/vdr/devel vdr-1.6.0-1.diff, NONE, 1.1 vdr-timer-info-0.5-1.5.15.diff, NONE, 1.1 vdr.spec, 1.25, 1.26 vdr-timer-info-0.4-1.5.15.diff, 1.2, NONE

Ville Skytta (scop) fedora-extras-commits at redhat.com
Sun Apr 13 15:24:14 UTC 2008


Author: scop

Update of /cvs/pkgs/rpms/vdr/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7262

Modified Files:
	vdr.spec 
Added Files:
	vdr-1.6.0-1.diff vdr-timer-info-0.5-1.5.15.diff 
Removed Files:
	vdr-timer-info-0.4-1.5.15.diff 
Log Message:
* Sun Apr 13 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.6.0-2
- Apply upstream 1.6.0-1 maintenance patch.
- Update timer info patch to 0.5 (fixes the "±" sign).


vdr-1.6.0-1.diff:

--- NEW FILE vdr-1.6.0-1.diff ---
diff -ruN vdr-1.6.0/CONTRIBUTORS vdr-1.6.0-1/CONTRIBUTORS
--- vdr-1.6.0/CONTRIBUTORS	2008-03-18 18:34:00.000000000 +0100
+++ vdr-1.6.0-1/CONTRIBUTORS	2008-04-13 15:34:03.000000000 +0200
@@ -595,6 +595,8 @@
  not two hex digits after the '#'
  for suggesting to suppress the automatic shutdown if the remote control is
  currently disabled
+ for suggesting to improve logging system time changes to avoid problems on slow
+ systems under heavy load
 
 Jeremy Hall <jhall at UU.NET>
  for fixing an incomplete initialization of the filter parameters in eit.c
@@ -958,6 +960,7 @@
  for making the SVDRP command LSTC list the channels with group separators if the
  option ':groups' is given
  for fixing handling 3 and 4 byte UTF-8 symbols in Utf8CharGet()
+ for fixing initializing the timer's flags in the cTimer copy constructor
 
 Olivier Jacques <jacquesolivier at hotmail.com>)
  for translating OSD texts to the French language
@@ -1174,6 +1177,7 @@
  for reporting an invalid access in the section handler when ending VDR
  for pointing out that cDevice::Transferring() doesn't return the right value in the
  early stage of channel switching
+ for fixing handling the counter in detection of pre 1.3.19 PS data
 
 Richard Robson <richard_robson at beeb.net>
  for reporting freezing replay if a timer starts while in Transfer Mode from the
@@ -1506,6 +1510,7 @@
  for translating OSD texts to the Estonian language
  for fixing a missing ',' in the Greek OSD texts
  for fixing a missing ',' in the Swedish OSD texts
+ for reporting problems with CAMs when checking the CAM status too frequently
 
 Milos Kapoun <m.kapoun at cra.cz>
  for suggesting to skip code table info in SI data
diff -ruN vdr-1.6.0/HISTORY vdr-1.6.0-1/HISTORY
--- vdr-1.6.0/HISTORY	2008-03-23 11:26:08.000000000 +0100
+++ vdr-1.6.0-1/HISTORY	2008-04-13 15:33:46.000000000 +0200
@@ -5729,3 +5729,14 @@
 - Added Chinese language texts (thanks to Nan Feng).
 - Updated the Portuguese language texts.
 - Added a note about VDR_CHARSET_OVERRIDE to the INSTALL file.
+
+2008-04-13: Version 1.6.0-1
+
+- Fixed handling the counter in detection of pre 1.3.19 PS data (thanks to Reinhard
+  Nissl).
+- Improved logging system time changes to avoid problems on slow systems under
+  heavy load (suggested by Helmut Auer).
+- Fixed initializing the timer's flags in the cTimer copy constructor (thanks to
+  Andreas Mair).
+- Increased the time between checking the CAM status to 500ms to avoid problems
+  with some CAMs (reported by Arthur Konovalov).
diff -ruN vdr-1.6.0/ci.c vdr-1.6.0-1/ci.c
--- vdr-1.6.0/ci.c	2007-04-30 15:02:49.000000000 +0200
+++ vdr-1.6.0-1/ci.c	2008-04-13 15:33:32.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: ci.c 1.48 2007/04/30 13:02:49 kls Exp $
+ * $Id: ci.c 1.48.1.1 2008/04/13 13:33:32 kls Exp $
  */
 
 #include "ci.h"
@@ -1525,7 +1525,7 @@
 
 cCamSlots CamSlots;
 
-#define MODULE_CHECK_INTERVAL 100 // ms
+#define MODULE_CHECK_INTERVAL 500 // ms
 #define MODULE_RESET_TIMEOUT    2 // s
 
 cCamSlot::cCamSlot(cCiAdapter *CiAdapter)
diff -ruN vdr-1.6.0/config.h vdr-1.6.0-1/config.h
--- vdr-1.6.0/config.h	2008-03-23 11:26:10.000000000 +0100
+++ vdr-1.6.0-1/config.h	2008-04-13 13:09:42.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: config.h 1.310 2008/03/23 10:26:10 kls Exp $
+ * $Id: config.h 1.310.1.1 2008/04/13 11:09:42 kls Exp $
  */
 
 #ifndef __CONFIG_H
@@ -22,7 +22,7 @@
 
 // VDR's own version number:
 
-#define VDRVERSION  "1.6.0"
+#define VDRVERSION  "1.6.0-1"
 #define VDRVERSNUM   10600  // Version * 10000 + Major * 100 + Minor
 
 // The plugin API's version number:
diff -ruN vdr-1.6.0/device.c vdr-1.6.0-1/device.c
--- vdr-1.6.0/device.c	2008-03-09 11:03:34.000000000 +0100
+++ vdr-1.6.0-1/device.c	2008-04-13 13:16:00.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: device.c 1.157 2008/03/09 10:03:34 kls Exp $
+ * $Id: device.c 1.157.1.1 2008/04/13 11:16:00 kls Exp $
  */
 
 #include "device.h"
@@ -1273,7 +1273,7 @@
                uchar SubStreamIndex = SubStreamId & 0x1F;
 
                // Compatibility mode for old VDR recordings, where 0xBD was only AC3:
-pre_1_3_19_PrivateStreamDeteced:
+pre_1_3_19_PrivateStreamDetected:
                if (pre_1_3_19_PrivateStream > MIN_PRE_1_3_19_PRIVATESTREAM) {
                   SubStreamId = c;
                   SubStreamType = 0x80;
@@ -1314,7 +1314,8 @@
                          if (pre_1_3_19_PrivateStream > MIN_PRE_1_3_19_PRIVATESTREAM) {
                             dsyslog("switching to pre 1.3.19 Dolby Digital compatibility mode - substream id = %02X", SubStreamId);
                             ClrAvailableTracks();
-                            goto pre_1_3_19_PrivateStreamDeteced;
+                            pre_1_3_19_PrivateStream = MIN_PRE_1_3_19_PRIVATESTREAM + 1;
+                            goto pre_1_3_19_PrivateStreamDetected;
                             }
                          }
                  }
diff -ruN vdr-1.6.0/eit.c vdr-1.6.0-1/eit.c
--- vdr-1.6.0/eit.c	2007-08-26 12:56:33.000000000 +0200
+++ vdr-1.6.0-1/eit.c	2008-04-13 13:46:38.000000000 +0200
@@ -8,7 +8,7 @@
  * Robert Schneider <Robert.Schneider at web.de> and Rolf Hakenes <hakenes at hippomi.de>.
  * Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg at gmx.de>.
  *
- * $Id: eit.c 1.126 2007/08/26 10:56:33 kls Exp $
+ * $Id: eit.c 1.126.1.1 2008/04/13 11:46:38 kls Exp $
  */
 
 #include "eit.h"
@@ -300,9 +300,9 @@
   if (diff > 2) {
      mutex.Lock();
      if (abs(diff - lastDiff) < 3) {
-        isyslog("System Time = %s (%ld)", *TimeToString(loctim), loctim);
-        isyslog("Local Time  = %s (%ld)", *TimeToString(sattim), sattim);
-        if (stime(&sattim) < 0)
+        if (stime(&sattim) == 0)
+           isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(sattim), sattim);
+        else
            esyslog("ERROR while setting system time: %m");
         }
      lastDiff = diff;
diff -ruN vdr-1.6.0/timers.c vdr-1.6.0-1/timers.c
--- vdr-1.6.0/timers.c	2008-02-16 15:47:40.000000000 +0100
+++ vdr-1.6.0-1/timers.c	2008-04-13 14:47:12.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: timers.c 1.73 2008/02/16 14:47:40 kls Exp $
+ * $Id: timers.c 1.73.1.1 2008/04/13 12:47:12 kls Exp $
  */
 
 #include "timers.h"
@@ -92,6 +92,7 @@
   channel = NULL;
   aux = NULL;
   event = NULL;
+  flags = tfNone;
   *this = Timer;
 }
 

vdr-timer-info-0.5-1.5.15.diff:

--- NEW FILE vdr-timer-info-0.5-1.5.15.diff ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## opt-41-x_timer-info.dpatch by Andreas Brugger <brougs78 at gmx.net>, Thomas Günther <tom at toms-cafe.de>
## http://toms-cafe.de/vdr/download/vdr-timer-info-0.5-1.5.15.diff
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Shows info, if it is possible to record an event in the timer-info of
## DP: vdr - see README.timer-info for details.

@DPATCH@
diff -Naurp vdr-1.5.15/README.timer-info vdr-1.5.15-timer-info-0.5/README.timer-info
--- vdr-1.5.15/README.timer-info	1970-01-01 00:00:00.000000000 +0000
+++ vdr-1.5.15-timer-info-0.5/README.timer-info	2008-04-12 11:54:16.000000000 +0000
@@ -0,0 +1,65 @@
++------------------------------------------------------------------------------+
+|               Info about the timer-info-patch by Brougs78                    |
+|                brougs78 at gmx.net / home.pages.at/brougs78                     |
++------------------------------------------------------------------------------+
+
+
+README timer-info:
+------------------
+
+Features:
+ - Shows info, if it is possible to record an event in the timer menu of vdr.
+   For calculations the free space incl. the deleted recordings is used,
+   considering an average consumtion of 25.75 MB/min (also used by vdr itself).
+   The first column in the timer-list shows:
+      ( + ) recording will be most probably possible (enough space)
+      (+/-) recording may be possible
+      ( - ) recording will most probably fail (to less space)
+   The calculations also consider repeating timers.
+ - It is possible to deactivate the patch in the OSD-menu of VDR.
+
+
+HISTORY timer-info:
+-------------------
+
+25.11.2004: v0.1
+ - Initial release
+
+11.01.2005: v0.1b
+ - Bugfixes for vdr-1.3.18
+ - In the menu the free recording-time no longer includes the space of the
+   deleted recordings, because this slowed the vdr down to much.
+
+08.07.2005: v0.1c
+ - Made the patch configurable
+
+29.01.2006: v0.2 - Thomas Günther <tom at toms-cafe.de>
+ - Rewritten great parts for vdr-1.3.38+
+   http://toms-cafe.de/vdr/download/vdr-timer-info-0.2-1.3.38+.diff
+
+05.02.2006: v0.3 - Thomas Günther <tom at toms-cafe.de>
+ - Fixed refresh of timer menu in cMenuTimers::OnOff
+ - Fixed check of repeating timers
+ - Syslog debug messages can be enabled with Define DEBUG_TIMER_INFO
+   http://toms-cafe.de/vdr/download/vdr-timer-info-0.3-1.3.38+.diff
+
+03.03.2006: v0.4 - Thomas Günther <tom at toms-cafe.de>
+ - Adapted to vdr-1.3.44
+ - Removed setup parameter "Show timer-info"
+   http://toms-cafe.de/vdr/download/vdr-timer-info-0.4-1.3.44.diff
+
+26.03.2006:      - Tobias Grimm <tg at e-tobi.net>
+ - Adapted to vdr-1.3.45
+   http://toms-cafe.de/vdr/download/vdr-timer-info-0.4-1.3.45.diff
+
+14.01.2008:      - Thomas Günther <tom at toms-cafe.de>
+ - Adapted to vdr-1.5.13
+   http://toms-cafe.de/vdr/download/vdr-timer-info-0.4-1.5.13.diff
+
+17.02.2008:      - Tobias Grimm <tg at e-tobi.net>
+ - Adapted to vdr-1.5.15
+   http://toms-cafe.de/vdr/download/vdr-timer-info-0.4-1.5.15.diff
+
+12.04.2008: v0.5 - Thomas Günther <tom at toms-cafe.de>
+ - Fixed display of +/- sign with UTF-8
+   http://toms-cafe.de/vdr/download/vdr-timer-info-0.5-1.5.15.diff
diff -Naurp vdr-1.5.15/menu.c vdr-1.5.15-timer-info-0.5/menu.c
--- vdr-1.5.15/menu.c	2008-02-16 13:53:26.000000000 +0000
+++ vdr-1.5.15-timer-info-0.5/menu.c	2008-04-12 11:49:23.000000000 +0000
@@ -777,8 +777,10 @@ eOSState cMenuEditTimer::ProcessKey(eKey
 class cMenuTimerItem : public cOsdItem {
 private:
   cTimer *timer;
+  char diskStatus;
 public:
   cMenuTimerItem(cTimer *Timer);
+  void SetDiskStatus(char DiskStatus);
   virtual int Compare(const cListObject &ListObject) const;
   virtual void Set(void);
   cTimer *Timer(void) { return timer; }
@@ -787,6 +789,7 @@ public:
 cMenuTimerItem::cMenuTimerItem(cTimer *Timer)
 {
   timer = Timer;
+  diskStatus = ' ';
   Set();
 }
 
@@ -812,7 +815,10 @@ void cMenuTimerItem::Set(void)
      strftime(buffer, sizeof(buffer), "%Y%m%d", &tm_r);
      day = buffer;
      }
-  SetText(cString::sprintf("%c\t%d\t%s%s%s\t%02d:%02d\t%02d:%02d\t%s",
+  cCharSetConv csc("ISO-8859-1", cCharSetConv::SystemCharacterTable());
+  char diskStatusString[2] = { diskStatus, 0 };
+  SetText(cString::sprintf("%s%c\t%d\t%s%s%s\t%02d:%02d\t%02d:%02d\t%s",
+                    csc.Convert(diskStatusString),
                     !(timer->HasFlags(tfActive)) ? ' ' : timer->FirstDay() ? '!' : timer->Recording() ? '#' : '>',
                     timer->Channel()->Number(),
                     *name,
@@ -825,6 +831,57 @@ void cMenuTimerItem::Set(void)
                     timer->File()));
 }
 
+void cMenuTimerItem::SetDiskStatus(char DiskStatus)
+{
+  diskStatus = DiskStatus;
+  Set();
+}
+
+// --- cTimerEntry -----------------------------------------------------------
+
+class cTimerEntry : public cListObject {
+private:
+  cMenuTimerItem *item;
+  const cTimer *timer;
+  time_t start;
+public:
+  cTimerEntry(cMenuTimerItem *item) : item(item), timer(item->Timer()), start(timer->StartTime()) {}
+  cTimerEntry(const cTimer *timer, time_t start) : item(NULL), timer(timer), start(start) {}
+  virtual int Compare(const cListObject &ListObject) const;
+  bool active(void) const { return timer->HasFlags(tfActive); }
+  time_t startTime(void) const { return start; }
+  int priority(void) const { return timer->Priority(); }
+  int duration(void) const;
+  bool repTimer(void) const { return !timer->IsSingleEvent(); }
+  bool isDummy(void) const { return item == NULL; }
+  const cTimer *Timer(void) const { return timer; }
+  void SetDiskStatus(char DiskStatus);
+  };
+
+int cTimerEntry::Compare(const cListObject &ListObject) const
+{
+  cTimerEntry *entry = (cTimerEntry *)&ListObject;
+  int r = startTime() - entry->startTime();
+  if (r == 0)
+     r = entry->priority() - priority();
+  return r;
+}
+
+int cTimerEntry::duration(void) const
+{
+  int dur = (timer->Stop()  / 100 * 60 + timer->Stop()  % 100) -
+            (timer->Start() / 100 * 60 + timer->Start() % 100);
+  if (dur < 0)
+     dur += 24 * 60;
+  return dur;
+}
+
+void cTimerEntry::SetDiskStatus(char DiskStatus)
+{
+  if (item)
+     item->SetDiskStatus(DiskStatus);
+}
+
 // --- cMenuTimers -----------------------------------------------------------
 
 class cMenuTimers : public cOsdMenu {
@@ -837,14 +894,17 @@ private:
   eOSState Info(void);
   cTimer *CurrentTimer(void);
   void SetHelpKeys(void);
+  void ActualiseDiskStatus(void);
+  bool actualiseDiskStatus;
 public:
   cMenuTimers(void);
   virtual ~cMenuTimers();
+  virtual void Display(void);
   virtual eOSState ProcessKey(eKeys Key);
   };
 
 cMenuTimers::cMenuTimers(void)
-:cOsdMenu(tr("Timers"), 2, CHNUMWIDTH, 10, 6, 6)
+:cOsdMenu(tr("Timers"), 3, CHNUMWIDTH, 10, 6, 6)
 {
   helpKeys = -1;
   for (cTimer *timer = Timers.First(); timer; timer = Timers.Next(timer)) {
@@ -855,6 +915,7 @@ cMenuTimers::cMenuTimers(void)
   SetCurrent(First());
   SetHelpKeys();
   Timers.IncBeingEdited();
+  actualiseDiskStatus = true;
 }
 
 cMenuTimers::~cMenuTimers()
@@ -893,7 +954,7 @@ eOSState cMenuTimers::OnOff(void)
      timer->OnOff();
      timer->SetEventFromSchedule();
      RefreshCurrent();
-     DisplayCurrent(true);
+     Display();
      if (timer->FirstDay())
         isyslog("timer %s first day set to %s", *timer->ToDescr(), *timer->PrintFirstDay());
      else
@@ -952,6 +1013,67 @@ eOSState cMenuTimers::Info(void)
   return osContinue;
 }
 
+void cMenuTimers::ActualiseDiskStatus(void)
+{
+  if (!actualiseDiskStatus || !Count())
+     return;
+
+  // compute free disk space
+  int freeMB, freeMinutes, runshortMinutes;
+  VideoDiskSpace(&freeMB);
+  freeMinutes = int(double(freeMB) * 1.1 / MB_PER_MINUTE); // overestimate by 10 percent
+  runshortMinutes = freeMinutes / 5; // 20 Percent
+
+  // fill entries list
+  cTimerEntry *entry;
+  cList<cTimerEntry> entries;
+  for (cOsdItem *item = First(); item; item = Next(item))
+     entries.Add(new cTimerEntry((cMenuTimerItem *)item));
+
+  // search last start time
+  time_t last = 0;
+  for (entry = entries.First(); entry; entry = entries.Next(entry))
+     last = max(entry->startTime(), last);
+
+  // add entries for repeating timers
+  for (entry = entries.First(); entry; entry = entries.Next(entry))
+     if (entry->repTimer() && !entry->isDummy())
+        for (time_t start = cTimer::IncDay(entry->startTime(), 1);
+             start <= last;
+             start = cTimer::IncDay(start, 1))
+           if (entry->Timer()->DayMatches(start))
+              entries.Add(new cTimerEntry(entry->Timer(), start));
+
+  // set the disk-status
+  entries.Sort();
+  for (entry = entries.First(); entry; entry = entries.Next(entry)) {
+     char status = ' ';
+     if (entry->active()) {
+        freeMinutes -= entry->duration();
+        status = freeMinutes > runshortMinutes ? '+' : freeMinutes > 0 ? 177 /* +/- */ : '-';
+        }
+     entry->SetDiskStatus(status);
+#ifdef DEBUG_TIMER_INFO
+     dsyslog("timer-info: %c | %d | %s | %s | %3d | %+5d -> %+5d",
+             status,
+             entry->startTime(),
+             entry->active() ? "aktiv " : "n.akt.",
+             entry->repTimer() ? entry->isDummy() ? "  dummy  " : "mehrmalig" : "einmalig ",
+             entry->duration(),
+             entry->active() ? freeMinutes + entry->duration() : freeMinutes,
+             freeMinutes);
+#endif
+     }
+
+  actualiseDiskStatus = false;
+}
+
+void cMenuTimers::Display(void)
+{
+  ActualiseDiskStatus();
+  cOsdMenu::Display();
+}
+
 eOSState cMenuTimers::ProcessKey(eKeys Key)
 {
   int TimerNumber = HasSubMenu() ? Count() : -1;
@@ -960,18 +1082,22 @@ eOSState cMenuTimers::ProcessKey(eKeys K
   if (state == osUnknown) {
      switch (Key) {
        case kOk:     return Edit();
-       case kRed:    state = OnOff(); break; // must go through SetHelpKeys()!
+       case kRed:    actualiseDiskStatus = true;
+                     state = OnOff(); break; // must go through SetHelpKeys()!
        case kGreen:  return New();
-       case kYellow: state = Delete(); break;
+       case kYellow: actualiseDiskStatus = true;
+                     state = Delete(); break;
        case kInfo:
        case kBlue:   return Info();
                      break;
        default: break;
        }
      }
-  if (TimerNumber >= 0 && !HasSubMenu() && Timers.Get(TimerNumber)) {
-     // a newly created timer was confirmed with Ok
-     Add(new cMenuTimerItem(Timers.Get(TimerNumber)), true);
+  if (TimerNumber >= 0 && !HasSubMenu()) {
+     if (Timers.Get(TimerNumber)) // a newly created timer was confirmed with Ok
+        Add(new cMenuTimerItem(Timers.Get(TimerNumber)), true);
+     Sort();
+     actualiseDiskStatus = true;
      Display();
      }
   if (Key != kNone)


Index: vdr.spec
===================================================================
RCS file: /cvs/pkgs/rpms/vdr/devel/vdr.spec,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- vdr.spec	7 Apr 2008 19:37:25 -0000	1.25
+++ vdr.spec	13 Apr 2008 15:23:36 -0000	1.26
@@ -21,7 +21,7 @@
 
 Name:           vdr
 Version:        1.6.0
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Video Disk Recorder
 
 Group:          Applications/Multimedia
@@ -73,7 +73,8 @@
 Patch14:        %{name}-1.6.0-includes+pkgconfig.patch
 Patch15:        %{name}-1.6.0-fedora-pkgconfig.patch
 Patch16:        %{name}-1.6.0-dxr3-subtitles.patch
-Patch17:        http://toms-cafe.de/vdr/download/vdr-timer-info-0.4-1.5.15.diff
+Patch17:        http://toms-cafe.de/vdr/download/vdr-timer-info-0.5-1.5.15.diff
+Patch18:        ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.6.0-1.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  libjpeg-devel
@@ -186,6 +187,7 @@
 %patch14 -p0
 %patch15 -p0
 %patch16 -p0
+%patch18 -p1
 
 for f in CONTRIBUTORS HISTORY* UPDATE-1.4.0 ; do
   iconv -f iso-8859-1 -t utf-8 -o $f.utf8 $f && mv $f.utf8 $f
@@ -483,6 +485,10 @@
 %endif # plugins
 
 %changelog
+* Sun Apr 13 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.6.0-2
+- Apply upstream 1.6.0-1 maintenance patch.
+- Update timer info patch to 0.5 (fixes the "±" sign).
+
 * Mon Apr  7 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.6.0-1
 - Apply "unofficial" timercmd patch from HoochVDR.
 - Apply Luca Olivetti's DXR3 subtitle compatibility patch.


--- vdr-timer-info-0.4-1.5.15.diff DELETED ---




More information about the fedora-extras-commits mailing list