[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