[vdr] 02/05: Updated patches

Tobias Grimm tiber-guest at moszumanska.debian.org
Wed Dec 27 13:02:16 UTC 2017


This is an automated email from the git hooks/post-receive script.

tiber-guest pushed a commit to annotated tag debian/2.3.8-1_etobi1
in repository vdr.

commit f06ff9c735d0bea2726e2abfdc601ae9b0db6860
Author: Tobias Grimm <etobi at debian.org>
Date:   Wed Dec 27 13:33:28 2017 +0100

    Updated patches
---
 debian/.vdr-patches                         |  12 ++-
 debian/patches/opt-27_ttxtsubs.patch        |  62 +++++++-------
 debian/patches/opt-37-x_menuorg.patch       |   8 +-
 debian/patches/opt-42-x_MainMenuHooks.patch |   6 +-
 debian/patches/opt-45_yaepg.patch           |   8 +-
 debian/patches/opt-60_power-saving.patch    | 124 ++++++++++++++--------------
 debian/patchinfo                            |  18 +---
 7 files changed, 109 insertions(+), 129 deletions(-)

diff --git a/debian/.vdr-patches b/debian/.vdr-patches
index 8774fa4..1643066 100644
--- a/debian/.vdr-patches
+++ b/debian/.vdr-patches
@@ -2,10 +2,8 @@
 06_default_svdrp_port_0.patch:e75a74f487a4f07bcd1b73319203af59
 12_osdbase-maxitems.patch:401fc8efc9900a9a766730885ac456df
 99_ncursesw-include.patch:fd58fcdbff50c97b0db92b9c45c6ec43
-systemd.patch:367980e92cbcfcf556127ac9510e5efd
-opt-27_ttxtsubs.patch:a1aeece65cc723e38b65fbfb8d10edf3
-opt-37-x_menuorg.patch:5af45321309b1e723d89e5c6dc1c947f
-opt-41-x_timer-info.patch:571ca43774dbd768cd9d90552fd1442d
-opt-42-x_MainMenuHooks.patch:7ccacd9d4d79efbb2b9341c3d8e366a9
-opt-45_yaepg.patch:f867903d4be9339198bdb22e823b679e
-opt-50_graphtft.patch:7de63c9d4e2a8de754297ae40b367e01
+opt-27_ttxtsubs.patch:64d42b6dff5f48dfa795559f130e932f
+opt-37-x_menuorg.patch:10e385ff09e20c321943b3d7cc1ac593
+opt-42-x_MainMenuHooks.patch:a1e956dad9ec757cd1ff5e16ef22be4c
+opt-45_yaepg.patch:75425ecbc465cd724ce9415bed33bc17
+opt-60_power-saving.patch:780b01dc4a076e1aeb173e5b1f43ed85
diff --git a/debian/patches/opt-27_ttxtsubs.patch b/debian/patches/opt-27_ttxtsubs.patch
index 916003d..0a46bf7 100644
--- a/debian/patches/opt-27_ttxtsubs.patch
+++ b/debian/patches/opt-27_ttxtsubs.patch
@@ -4,7 +4,7 @@ Origin: ttxsubs plugin
 
 --- a/MANUAL
 +++ b/MANUAL
-@@ -818,6 +818,9 @@
+@@ -821,6 +821,9 @@
                           background transparency. By default the values as broadcast
                           are used.
  
@@ -16,7 +16,7 @@ Origin: ttxsubs plugin
    Use DiSEqC = no        Generally turns DiSEqC support on or off.
 --- a/Makefile
 +++ b/Makefile
-@@ -74,6 +74,8 @@
+@@ -83,6 +83,8 @@
         skinclassic.o skinlcars.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o\
         timers.o tools.o transfer.o vdr.o videodir.o
  
@@ -27,7 +27,7 @@ Origin: ttxsubs plugin
  
 --- a/channels.c
 +++ b/channels.c
-@@ -443,6 +443,26 @@
+@@ -450,6 +450,26 @@
       }
  }
  
@@ -54,7 +54,7 @@ Origin: ttxsubs plugin
  bool cChannel::SetCaIds(const int *CaIds)
  {
    if (caids[0] && caids[0] <= CA_USER_MAX)
-@@ -576,10 +596,17 @@
+@@ -583,10 +603,17 @@
          q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs, Channel->dtypes);
          }
       *q = 0;
@@ -73,7 +73,7 @@ Origin: ttxsubs plugin
       if (Channel->spids[0]) {
          *q++ = ';';
          q += IntArrayToString(q, Channel->spids, 10, Channel->slangs);
-@@ -750,6 +777,32 @@
+@@ -757,6 +784,32 @@
                      }
                spids[NumSpids] = 0;
                }
@@ -143,7 +143,7 @@ Origin: ttxsubs plugin
    int caids[MAXCAIDS + 1]; // list is zero-terminated
    int nid;
    int tid;
-@@ -166,6 +180,8 @@
+@@ -167,6 +181,8 @@
    uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); }
    uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
    int Tpid(void) const { return tpid; }
@@ -152,7 +152,7 @@ Origin: ttxsubs plugin
    const int *Caids(void) const { return caids; }
    int Ca(int Index = 0) const { return Index < MAXCAIDS ? caids[Index] : 0; }
    int Nid(void) const { return nid; }
-@@ -195,6 +211,7 @@
+@@ -196,6 +212,7 @@
    bool SetName(const char *Name, const char *ShortName, const char *Provider);
    bool SetPortalName(const char *PortalName);
    bool SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, char ALangs[][MAXLANGCODE2], int *Dpids, int *Dtypes, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid);
@@ -162,7 +162,7 @@ Origin: ttxsubs plugin
    bool SetLinkChannels(cLinkChannels *LinkChannels);
 --- a/ci.c
 +++ b/ci.c
-@@ -2147,6 +2147,8 @@
+@@ -2622,6 +2622,8 @@
           AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_PRIVATE);
       for (const int *Spid = Channel->Spids(); *Spid; Spid++)
           AddPid(Channel->Sid(), *Spid, STREAM_TYPE_PRIVATE);
@@ -171,16 +171,16 @@ Origin: ttxsubs plugin
       }
  }
  
-@@ -2170,6 +2172,9 @@
+@@ -2645,6 +2647,9 @@
           CaPmt.AddPid(*Dpid, STREAM_TYPE_PRIVATE);
       for (const int *Spid = Channel->Spids(); *Spid; Spid++)
           CaPmt.AddPid(*Spid, STREAM_TYPE_PRIVATE);
 +     if (Channel->Tpid() && Setup.SupportTeletext) {
 +        CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_PRIVATE);
 +        }
+      if (MtdMapper)
+         CaPmt.MtdMapPids(MtdMapper);
       cas->SendPMT(&CaPmt);
-      cTimeMs Timeout(QUERY_REPLY_TIMEOUT);
-      do {
 --- a/config.c
 +++ b/config.c
 @@ -403,6 +403,7 @@
@@ -227,7 +227,7 @@ Origin: ttxsubs plugin
  
  // --- cLiveSubtitle ---------------------------------------------------------
  
-@@ -1321,6 +1322,13 @@
+@@ -1410,6 +1411,13 @@
                    }
                 break;
            case 0xBD: { // private stream 1
@@ -241,7 +241,7 @@ Origin: ttxsubs plugin
                 int PayloadOffset = Data[8] + 9;
  
                 // Compatibility mode for old subtitles plugin:
-@@ -1480,6 +1488,7 @@
+@@ -1569,6 +1577,7 @@
       tsToPesVideo.Reset();
       tsToPesAudio.Reset();
       tsToPesSubtitle.Reset();
@@ -249,7 +249,7 @@ Origin: ttxsubs plugin
       }
    else if (Length < TS_SIZE) {
       esyslog("ERROR: skipped %d bytes of TS fragment", Length);
-@@ -1524,6 +1533,17 @@
+@@ -1608,6 +1617,17 @@
                      if (!VideoOnly || HasIBPTrickSpeed())
                         PlayTsSubtitle(Data, TS_SIZE);
                      }
@@ -269,7 +269,7 @@ Origin: ttxsubs plugin
             else if (Pid == patPmtParser.Ppid()) {
 --- a/device.h
 +++ b/device.h
-@@ -606,6 +606,7 @@
+@@ -640,6 +640,7 @@
    cTsToPes tsToPesVideo;
    cTsToPes tsToPesAudio;
    cTsToPes tsToPesSubtitle;
@@ -279,7 +279,7 @@ Origin: ttxsubs plugin
    const cPatPmtParser *PatPmtParser(void) const { return &patPmtParser; }
 --- a/menu.c
 +++ b/menu.c
-@@ -3575,6 +3575,7 @@
+@@ -3580,6 +3580,7 @@
       Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle foreground transparency"), &data.SubtitleFgTransparency, 0, 9));
       Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle background transparency"), &data.SubtitleBgTransparency, 0, 10));
       }
@@ -562,13 +562,13 @@ Origin: ttxsubs plugin
 +++ b/po/ru_RU.po
 @@ -1075,6 +1075,9 @@
  msgid "Setup.DVB$Subtitle background transparency"
- msgstr "������������ ���� ���������"
+ msgstr "Прозрачность фона субтитров"
  
 +msgid "Setup.DVB$Enable teletext support"
 +msgstr ""
 +
  msgid "LNB"
- msgstr "���������"
+ msgstr "Конвертер"
  
 --- a/po/sk_SK.po
 +++ b/po/sk_SK.po
@@ -644,7 +644,7 @@ Origin: ttxsubs plugin
  
 --- a/receiver.c
 +++ b/receiver.c
-@@ -74,7 +74,8 @@
+@@ -82,7 +82,8 @@
              (Channel->Ppid() == Channel->Vpid() || AddPid(Channel->Ppid())) &&
              AddPids(Channel->Apids()) &&
              AddPids(Channel->Dpids()) &&
@@ -656,7 +656,7 @@ Origin: ttxsubs plugin
  }
 --- a/remux.c
 +++ b/remux.c
-@@ -416,6 +416,29 @@
+@@ -429,6 +429,29 @@
    return i;
  }
  
@@ -686,7 +686,7 @@ Origin: ttxsubs plugin
  int cPatPmtGenerator::MakeLanguageDescriptor(uchar *Target, const char *Language)
  {
    int i = 0;
-@@ -503,6 +526,7 @@
+@@ -516,6 +539,7 @@
    if (Channel) {
       int Vpid = Channel->Vpid();
       int Ppid = Channel->Ppid();
@@ -694,7 +694,7 @@ Origin: ttxsubs plugin
       uchar *p = buf;
       int i = 0;
       p[i++] = 0x02; // table id
-@@ -535,6 +559,10 @@
+@@ -548,6 +572,10 @@
           i += MakeStream(buf + i, 0x06, Channel->Spid(n));
           i += MakeSubtitlingDescriptor(buf + i, Channel->Slang(n), Channel->SubtitlingType(n), Channel->CompositionPageId(n), Channel->AncillaryPageId(n));
           }
@@ -705,7 +705,7 @@ Origin: ttxsubs plugin
  
       int sl = i - SectionLength - 2 + 4; // -2 = SectionLength storage, +4 = length of CRC
       buf[SectionLength] |= (sl >> 8) & 0x0F;
-@@ -609,6 +637,7 @@
+@@ -622,6 +650,7 @@
    pmtPids[0] = 0;
    vpid = vtype = 0;
    ppid = 0;
@@ -713,7 +713,7 @@ Origin: ttxsubs plugin
  }
  
  void cPatPmtParser::ParsePat(const uchar *Data, int Length)
-@@ -697,11 +726,13 @@
+@@ -710,11 +739,13 @@
       int NumSpids = 0;
       vpid = vtype = 0;
       ppid = 0;
@@ -727,7 +727,7 @@ Origin: ttxsubs plugin
       SI::PMT::Stream stream;
       for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) {
           dbgpatpmt("     stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid());
-@@ -801,6 +832,28 @@
+@@ -814,6 +845,28 @@
                                      spids[NumSpids] = 0;
                                      }
                                   break;
@@ -758,7 +758,7 @@ Origin: ttxsubs plugin
                                   dbgpatpmt(" '%s'", ld->languageCode);
 --- a/remux.h
 +++ b/remux.h
-@@ -302,6 +302,7 @@
+@@ -313,6 +313,7 @@
    int MakeStream(uchar *Target, uchar Type, int Pid);
    int MakeAC3Descriptor(uchar *Target, uchar Type);
    int MakeSubtitlingDescriptor(uchar *Target, const char *Language, uchar SubtitlingType, uint16_t CompositionPageId, uint16_t AncillaryPageId);
@@ -766,7 +766,7 @@ Origin: ttxsubs plugin
    int MakeLanguageDescriptor(uchar *Target, const char *Language);
    int MakeCRC(uchar *Target, const uchar *Data, int Length);
    void GeneratePmtPid(const cChannel *Channel);
-@@ -349,6 +350,7 @@
+@@ -360,6 +361,7 @@
    int vpid;
    int ppid;
    int vtype;
@@ -774,7 +774,7 @@ Origin: ttxsubs plugin
    int apids[MAXAPIDS + 1]; // list is zero-terminated
    int atypes[MAXAPIDS + 1]; // list is zero-terminated
    char alangs[MAXAPIDS][MAXLANGCODE2];
-@@ -362,6 +364,8 @@
+@@ -373,6 +375,8 @@
    uint16_t ancillaryPageIds[MAXSPIDS];
    bool updatePrimaryDevice;
    bool completed;
@@ -783,7 +783,7 @@ Origin: ttxsubs plugin
  protected:
    int SectionLength(const uchar *Data, int Length) { return (Length >= 3) ? ((int(Data[1]) & 0x0F) << 8)| Data[2] : 0; }
  public:
-@@ -398,6 +402,9 @@
+@@ -409,6 +413,9 @@
    int Vtype(void) const { return vtype; }
         ///< Returns the video stream type as defined by the current PMT, or 0 if no video
         ///< stream type has been detected, yet.
@@ -793,7 +793,7 @@ Origin: ttxsubs plugin
    bool Completed(void) { return completed; }
         ///< Returns true if the PMT has been completely parsed.
    const int *Apids(void) const { return apids; }
-@@ -414,6 +421,8 @@
+@@ -425,6 +432,8 @@
    uchar SubtitlingType(int i) const { return (0 <= i && i < MAXSPIDS) ? subtitlingTypes[i] : uchar(0); }
    uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); }
    uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
@@ -801,7 +801,7 @@ Origin: ttxsubs plugin
 +  int TotalTeletextSubtitlePages() const { return totalTtxtSubtitlePages; }
    };
  
- // TS to PES converter:
+ // EIT Generator:
 --- a/vdr.5
 +++ b/vdr.5
 @@ -249,6 +249,12 @@
diff --git a/debian/patches/opt-37-x_menuorg.patch b/debian/patches/opt-37-x_menuorg.patch
index 0e84dbb..4370063 100644
--- a/debian/patches/opt-37-x_menuorg.patch
+++ b/debian/patches/opt-37-x_menuorg.patch
@@ -78,7 +78,7 @@ Author: Tobias Grimm <tg at e-tobi.net>
  
  #define MAXWAIT4EPGINFO   3 // seconds
  #define MODETIMEOUT       3 // seconds
-@@ -4251,6 +4252,9 @@
+@@ -4274,6 +4275,9 @@
    cancelEditingItem = NULL;
    stopRecordingItem = NULL;
    recordControlsState = 0;
@@ -88,7 +88,7 @@ Author: Tobias Grimm <tg at e-tobi.net>
    Set();
  
    // Initial submenus:
-@@ -4279,6 +4283,29 @@
+@@ -4302,6 +4306,29 @@
    SetTitle("VDR");
    SetHasHotkeys();
  
@@ -118,7 +118,7 @@ Author: Tobias Grimm <tg at e-tobi.net>
    // Basic menu items:
  
    Add(new cOsdItem(hk(tr("Schedule")),   osSchedule));
-@@ -4305,6 +4332,8 @@
+@@ -4328,6 +4355,8 @@
    if (Commands.Count())
       Add(new cOsdItem(hk(tr("Commands")),  osCommands));
  
@@ -127,7 +127,7 @@ Author: Tobias Grimm <tg at e-tobi.net>
    Update(true);
  
    Display();
-@@ -4409,6 +4438,41 @@
+@@ -4432,6 +4461,41 @@
                           state = osEnd;
                         }
                         break;
diff --git a/debian/patches/opt-42-x_MainMenuHooks.patch b/debian/patches/opt-42-x_MainMenuHooks.patch
index 578c313..9617296 100644
--- a/debian/patches/opt-42-x_MainMenuHooks.patch
+++ b/debian/patches/opt-42-x_MainMenuHooks.patch
@@ -4,7 +4,7 @@ Author: Frank Schmirler <vdrdev at schmirler.de>
 
 --- a/menu.c
 +++ b/menu.c
-@@ -4259,15 +4259,30 @@
+@@ -4282,15 +4282,30 @@
  
    // Initial submenus:
  
@@ -41,7 +41,7 @@ Author: Frank Schmirler <vdrdev at schmirler.de>
  }
  
  cOsdObject *cMenuMain::PluginOsdObject(void)
-@@ -4400,13 +4415,34 @@
+@@ -4423,13 +4438,34 @@
    eOSState state = cOsdMenu::ProcessKey(Key);
    HadSubMenu |= HasSubMenu();
  
@@ -82,7 +82,7 @@ Author: Frank Schmirler <vdrdev at schmirler.de>
      case osStopRecord: if (Interface->Confirm(tr("Stop recording?"))) {
                            if (cOsdItem *item = Get(Current())) {
                               cRecordControls::Stop(item->Text() + strlen(tr(STOP_RECORDING)));
-@@ -4492,6 +4528,8 @@
+@@ -4515,6 +4551,8 @@
                 default:      break;
                 }
      }
diff --git a/debian/patches/opt-45_yaepg.patch b/debian/patches/opt-45_yaepg.patch
index 14d11d5..3c5709e 100644
--- a/debian/patches/opt-45_yaepg.patch
+++ b/debian/patches/opt-45_yaepg.patch
@@ -2,11 +2,9 @@ Description: This patch is needed for the yaepg plugin.
 Author: bball950 at yahoo.com
 Origin: http://www.hoochvdr.info/yaepg/vdr-1.3.19-core-yaepg.diff
 
-Index: b/device.h
-===================================================================
 --- a/device.h
 +++ b/device.h
-@@ -314,12 +314,12 @@
+@@ -348,12 +348,12 @@
           ///< Direction (only the sign of Direction is evaluated, positive values
           ///< switch to higher channel numbers).
  private:
@@ -21,8 +19,6 @@ Index: b/device.h
    static int CurrentChannel(void) { return primaryDevice ? currentChannel : 0; }
           ///< Returns the number of the current channel on the primary device.
  #define DEPRECATED_SETCURRENTCHANNEL
-Index: b/osd.c
-===================================================================
 --- a/osd.c
 +++ b/osd.c
 @@ -1664,6 +1664,7 @@
@@ -33,8 +29,6 @@ Index: b/osd.c
  }
  
  cOsd::~cOsd()
-Index: b/osd.h
-===================================================================
 --- a/osd.h
 +++ b/osd.h
 @@ -949,6 +949,7 @@
diff --git a/debian/patches/opt-60_power-saving.patch b/debian/patches/opt-60_power-saving.patch
index d88f578..9c76c5a 100644
--- a/debian/patches/opt-60_power-saving.patch
+++ b/debian/patches/opt-60_power-saving.patch
@@ -1,42 +1,40 @@
-From d2ce271a6f10b36356a57e2e89b677dbc9228c38 Mon Sep 17 00:00:00 2001
-From: glenvt18 <glenvt18 at gmail.com>
-Date: Thu, 18 Aug 2016 16:44:18 +0300
-Subject: [PATCH v2] Device power saving feature
-
-This patch introduces a feature which allows an idle device (a device
-which is not currently recording or streaming) to enter a power-down
-mode after some period of time. Given two timeout values,
-PowerdownTimeoutM and PowerdownWakeupH, it works like this: when a
-device becomes idle, it is kept powered up for PowerdownTimeoutM minutes
-doing, for instance, an EPG scan before it is powered down. If the
-device is still idle and has been powered down for PowerdownWakeupH
-hours it is powered up for PowerdownTimeoutM minutes and so on. When
-recording, streaming or a forced EPG scan starts, the device is powered
-up and it's idle timer is disabled. This implies that PowerdownTimeoutM
-should be enough for a full round of EPG scanning (20 seconds *
-number_of_transponders). Another option is to run EPG scans from cron
-(at night) and use SVDRP SCAN command.
-
-Actual implementation of power saving facilities is left to a derived
-device class. In the case of a DVB device it is implemented by closing
-it's frontend device. For a DVB-S/S2 tuner this usually means powering
-the LNB off. My measurements show 3-4W power consumption drops per tuner
-for various DVB-S/S2 tuners. So, this feature (together with HDD
-spin-down) is especially valuable while running a headless 24/7 VDR
-server and/or using several tuners. A SATIP device can also implement
-power saving if it is supported by a server.
----
- config.c    |  9 ++++++
- config.h    |  3 ++
- device.c    | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
- device.h    | 31 ++++++++++++++++++++
- dvbdevice.c | 39 +++++++++++++++++++++++++
- dvbdevice.h |  7 +++++
- eitscan.c   |  7 ++++-
- menu.c      |  9 +++++-
- vdr.c       |  6 ++++
- 9 files changed, 203 insertions(+), 4 deletions(-)
-
+Description: Device power saving feature
+Author: glenvt18 <glenvt18 at gmail.com>
+Abstract:
+ This patch introduces a feature which allows an idle device (a device
+ which is not currently recording or streaming) to enter a power-down
+ mode after some period of time. Given two timeout values,
+ PowerdownTimeoutM and PowerdownWakeupH, it works like this: when a
+ device becomes idle, it is kept powered up for PowerdownTimeoutM minutes
+ doing, for instance, an EPG scan before it is powered down. If the
+ device is still idle and has been powered down for PowerdownWakeupH
+ hours it is powered up for PowerdownTimeoutM minutes and so on. When
+ recording, streaming or a forced EPG scan starts, the device is powered
+ up and it's idle timer is disabled. This implies that PowerdownTimeoutM
+ should be enough for a full round of EPG scanning (20 seconds *
+ number_of_transponders). Another option is to run EPG scans from cron
+ (at night) and use SVDRP SCAN command.
+
+ Actual implementation of power saving facilities is left to a derived
+ device class. In the case of a DVB device it is implemented by closing
+ it's frontend device. For a DVB-S/S2 tuner this usually means powering
+ the LNB off. My measurements show 3-4W power consumption drops per tuner
+ for various DVB-S/S2 tuners. So, this feature (together with HDD
+ spin-down) is especially valuable while running a headless 24/7 VDR
+ server and/or using several tuners. A SATIP device can also implement
+ power saving if it is supported by a server.
+---
+ config.c    |  9 ++++++
+ config.h    |  3 ++
+ device.c    | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ device.h    | 31 ++++++++++++++++++++
+ dvbdevice.c | 39 +++++++++++++++++++++++++
+ dvbdevice.h |  7 +++++
+ eitscan.c   |  7 ++++-
+ menu.c      |  9 +++++-
+ vdr.c       |  6 ++++
+ 9 files changed, 203 insertions(+), 4 deletions(-)
+
 --- a/config.c
 +++ b/config.c
 @@ -395,6 +395,9 @@
@@ -83,7 +81,7 @@ power saving if it is supported by a server.
    int TimeTransponder;
 --- a/device.c
 +++ b/device.c
-@@ -105,6 +105,9 @@
+@@ -104,6 +104,9 @@
    dvbSubtitleConverter = NULL;
    autoSelectPreferredSubtitleLanguage = true;
  
@@ -93,7 +91,7 @@ power saving if it is supported by a server.
    for (int i = 0; i < MAXRECEIVERS; i++)
        receiver[i] = NULL;
  
-@@ -746,6 +749,11 @@
+@@ -833,6 +836,11 @@
    return result;
  }
  
@@ -104,8 +102,8 @@ power saving if it is supported by a server.
 +
  eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
  {
-   cStatus::MsgChannelSwitch(this, 0, LiveView);
-@@ -779,6 +787,8 @@
+   cMutexLock MutexLock(&mutexChannel); // to avoid a race between SVDRP CHAN and HasProgramme()
+@@ -867,6 +875,8 @@
          Result = scrNotAvailable;
       }
    else {
@@ -114,7 +112,7 @@ power saving if it is supported by a server.
       // Stop section handling:
       if (sectionHandler) {
          sectionHandler->SetStatus(false);
-@@ -844,8 +854,11 @@
+@@ -932,8 +942,11 @@
  
  void cDevice::SetOccupied(int Seconds)
  {
@@ -127,15 +125,15 @@ power saving if it is supported by a server.
  }
  
  bool cDevice::SetChannelDevice(const cChannel *Channel, bool LiveView)
-@@ -1695,6 +1708,7 @@
-             startScrambleDetection = time(NULL);
+@@ -1809,6 +1822,7 @@
+                }
              }
           Start();
 +         SetIdleTimer(false);
           return true;
           }
        }
-@@ -1728,8 +1742,10 @@
+@@ -1842,8 +1856,10 @@
             camSlot->Assign(NULL);
          }
       }
@@ -147,7 +145,7 @@ power saving if it is supported by a server.
  }
  
  void cDevice::DetachAll(int Pid)
-@@ -1751,6 +1767,82 @@
+@@ -1865,6 +1881,82 @@
        Detach(receiver[i]);
  }
  
@@ -232,7 +230,7 @@ power saving if it is supported by a server.
  cTSBuffer::cTSBuffer(int File, int Size, int CardIndex)
 --- a/device.h
 +++ b/device.h
-@@ -826,6 +826,37 @@
+@@ -860,6 +860,37 @@
         ///< Detaches all receivers from this device for this pid.
    virtual void DetachAllReceivers(void);
         ///< Detaches all receivers from this device.
@@ -272,8 +270,8 @@ power saving if it is supported by a server.
  /// Derived cDevice classes that can receive channels will have to provide
 --- a/dvbdevice.c
 +++ b/dvbdevice.c
-@@ -348,6 +348,8 @@
-   const cPositioner *Positioner(void) const { return positioner; }
+@@ -352,6 +352,8 @@
+   bool GetSignalStats(int &Valid, double *Strength = NULL, double *Cnr = NULL, double *BerPre = NULL, double *BerPost = NULL, double *Per = NULL, int *Status = NULL) const;
    int GetSignalStrength(void) const;
    int GetSignalQuality(void) const;
 +  bool IsPoweredDown(void) {return fd_frontend < 0;}
@@ -281,7 +279,7 @@ power saving if it is supported by a server.
    };
  
  cMutex cDvbTuner::bondMutex;
-@@ -544,6 +546,8 @@
+@@ -551,6 +553,8 @@
  
  bool cDvbTuner::GetFrontendStatus(fe_status_t &Status) const
  {
@@ -290,16 +288,16 @@ power saving if it is supported by a server.
    ClearEventQueue();
    while (1) {
          if (ioctl(fd_frontend, FE_READ_STATUS, &Status) != -1)
-@@ -559,6 +563,8 @@
+@@ -576,6 +580,8 @@
  
- int cDvbTuner::GetSignalStrength(void) const
+ bool cDvbTuner::GetSignalStats(int &Valid, double *Strength, double *Cnr, double *BerPre, double *BerPost, double *Per, int *Status) const
  {
 +  if (fd_frontend < 0)
 +     return -1;
    ClearEventQueue();
-   uint16_t Signal;
-   while (1) {
-@@ -1001,6 +1007,26 @@
+   fe_status_t FeStatus;
+   dtv_property Props[MAXFRONTENDCMDS];
+@@ -1225,6 +1231,26 @@
          }
  }
  
@@ -326,7 +324,7 @@ power saving if it is supported by a server.
  // --- cDvbSourceParam -------------------------------------------------------
  
  class cDvbSourceParam : public cSourceParam {
-@@ -1712,6 +1738,19 @@
+@@ -1954,6 +1980,19 @@
    needsDetachBondedReceivers = false;
  }
  
@@ -348,7 +346,7 @@ power saving if it is supported by a server.
  cList<cDvbDeviceProbe> DvbDeviceProbes;
 --- a/dvbdevice.h
 +++ b/dvbdevice.h
-@@ -290,6 +290,13 @@
+@@ -292,6 +292,13 @@
    virtual void CloseDvr(void);
    virtual bool GetTSPacket(uchar *&Data);
    virtual void DetachAllReceivers(void);
@@ -387,7 +385,7 @@ power saving if it is supported by a server.
                                       AnyDeviceSwitched = true;
 --- a/menu.c
 +++ b/menu.c
-@@ -3715,6 +3715,12 @@
+@@ -3720,6 +3720,12 @@
       Add(new cMenuEditIntxItem(tr("Setup.LNB$Positioner speed (degrees/s)"), &data.PositionerSpeed, 1, 1800, 10));
       }
  
@@ -400,7 +398,7 @@ power saving if it is supported by a server.
    SetCurrent(Get(current));
    Display();
  }
-@@ -3723,6 +3729,7 @@
+@@ -3728,6 +3734,7 @@
  {
    int oldDiSEqC = data.DiSEqC;
    int oldUsePositioner = data.UsePositioner;
@@ -408,7 +406,7 @@ power saving if it is supported by a server.
    bool DeviceBondingsChanged = false;
    if (Key == kOk) {
       cString NewDeviceBondings = satCableNumbers.ToString();
-@@ -3731,7 +3738,7 @@
+@@ -3736,7 +3743,7 @@
       }
    eOSState state = cMenuSetupBase::ProcessKey(Key);
  
@@ -419,7 +417,7 @@ power saving if it is supported by a server.
       cDvbDevice::BondDevices(data.DeviceBondings);
 --- a/vdr.c
 +++ b/vdr.c
-@@ -1537,6 +1537,12 @@
+@@ -1548,6 +1548,12 @@
  
          ReportEpgBugFixStats();
  
diff --git a/debian/patchinfo b/debian/patchinfo
index 3d80e18..0498fd4 100644
--- a/debian/patchinfo
+++ b/debian/patchinfo
@@ -23,11 +23,6 @@ Patches applied to vanilla vdr sources
 
     Use ncursesw header file
 
-systemd.patch
-    Tobias Grimm <etobi at debian.org>
-
-    Use libsystemd instead of transitional libsystemd-daemon
-
 opt-27_ttxtsubs.patch
     Tobias Grimm <vdr at e-tobi.net>
 
@@ -41,12 +36,6 @@ opt-37-x_menuorg.patch
     with the ability to create custom sub menus. This is version 0.4.s of the
     patch
 
-opt-41-x_timer-info.patch
-    Andreas Brugger <brougs78 at gmx.net>, Thomas G�nther <tom at toms-cafe.de>
-
-    Shows info, if it is possible to record an event in the timer-info of vdr -
-    see README.timer-info for details.
-
 opt-42-x_MainMenuHooks.patch
     Frank Schmirler <vdrdev at schmirler.de>
 
@@ -58,7 +47,8 @@ opt-45_yaepg.patch
 
     This patch is needed for the yaepg plugin.
 
-opt-50_graphtft.patch
-    Jörg Wendel (Horchi)
+opt-60_power-saving.patch
+    glenvt18 <glenvt18 at gmail.com>
+
+    Device power saving feature
 
-    Patch required for the GraphTFT plugin.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-vdr-dvb/vdr.git



More information about the pkg-vdr-dvb-changes mailing list