vdr-addon: update to 2.4.0

This commit is contained in:
cvh 2018-05-08 23:09:37 +02:00 committed by CvH
parent 0fd72c60f0
commit 694b28f509
10 changed files with 71 additions and 148 deletions

View File

@ -18,8 +18,8 @@
################################################################################ ################################################################################
PKG_NAME="vdr-plugin-epgfixer" PKG_NAME="vdr-plugin-epgfixer"
PKG_VERSION="1ad4aaf" PKG_VERSION="354f28b"
PKG_SHA256="b109c1040e54a2499c1d4c650d7f02cdc7b647af2133839af227a8496c58281e" PKG_SHA256="15bd73116f3bda9afc274bee97eff829b98f38b13043be32d7bb7f81af294715"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://projects.vdr-developer.org/projects/plg-epgfixer" PKG_SITE="http://projects.vdr-developer.org/projects/plg-epgfixer"

View File

@ -1,132 +0,0 @@
patches taken from https://projects.vdr-developer.org/projects/plg-epgfixer/issues
From: glenvt18 <glenvt18@gmail.com>
Date: Tue, 24 May 2016 02:36:55 +0300
Subject: [PATCH 1/2] Fix compiling against VDR >= 2.3.1
--- a/epgclone.c
+++ b/epgclone.c
@@ -49,9 +49,16 @@ void cEpgClone::CloneEvent(cEvent *Source, cEvent *Dest) {
Dest->SetSeen();
tChannelID channelID;
if (dest_num) {
+#if VDRVERSNUM >= 20301
+ LOCK_CHANNELS_READ;
+ const cChannel *dest_chan = Channels->GetByNumber(dest_num);
+ if (dest_chan)
+ channelID = Channels->GetByNumber(dest_num)->GetChannelID();
+#else
cChannel *dest_chan = Channels.GetByNumber(dest_num);
if (dest_chan)
channelID = Channels.GetByNumber(dest_num)->GetChannelID();
+#endif
else
channelID = tChannelID::InvalidID;
}
diff --git a/setup_menu.c b/setup_menu.c
index 8b60870..fcba6b1 100644
--- a/setup_menu.c
+++ b/setup_menu.c
@@ -264,9 +264,21 @@ eOSState cMenuSetupEpgfixer::ProcessKey(eKeys Key)
break;
case kBlue:
Skins.Message(mtInfo, tr("Clearing EPG data..."));
+#if VDRVERSNUM >= 20301
+ {
+ LOCK_TIMERS_WRITE;
+ LOCK_SCHEDULES_WRITE;
+ for (cTimer *Timer = Timers->First(); Timer; Timer = Timers->Next(Timer))
+ Timer->SetEvent(NULL);
+ for (cSchedule *Schedule = Schedules->First(); Schedule; Schedule = Schedules->Next(Schedule))
+ Schedule->Cleanup(INT_MAX);
+ }
+ cEitFilter::SetDisableUntil(time(NULL) + 10);
+#else
cEitFilter::SetDisableUntil(time(NULL) + 10);
if (cSchedules::ClearAll())
cEitFilter::SetDisableUntil(time(NULL) + 10);
+#endif
Skins.Message(mtInfo, NULL);
state = osContinue;
break;
diff --git a/tools.c b/tools.c
index 9c9133d..35c4b53 100644
--- a/tools.c
+++ b/tools.c
@@ -463,14 +463,26 @@ cAddEventThread::~cAddEventThread(void)
void cAddEventThread::Action(void)
{
SetPriority(19);
- while (Running() && !LastHandleEvent.TimedOut()) {
+ for (; Running() && !LastHandleEvent.TimedOut(); cCondWait::SleepMs(10)) {
+ if (list->First() == NULL)
+ continue;
cAddEventListItem *e = NULL;
+#if VDRVERSNUM >= 20301
+ cStateKey StateKey;
+ cSchedules *schedules = cSchedules::GetSchedulesWrite(StateKey, 10);
+ LOCK_CHANNELS_READ;
+#else
cSchedulesLock SchedulesLock(true, 10);
cSchedules *schedules = (cSchedules *)cSchedules::Schedules(SchedulesLock);
+#endif
Lock();
while (schedules && (e = list->First()) != NULL) {
tChannelID chanid = e->GetChannelID();
+#if VDRVERSNUM >= 20301
+ const cChannel *chan = Channels->GetByChannelID(chanid);
+#else
cChannel *chan = Channels.GetByChannelID(chanid);
+#endif
if (!chan) {
error("Destination channel %s not found for cloning!", *chanid.ToString());
}
@@ -485,7 +497,10 @@ void cAddEventThread::Action(void)
list->Del(e);
}
Unlock();
- cCondWait::SleepMs(10);
+#if VDRVERSNUM >= 20301
+ if (schedules)
+ StateKey.Remove();
+#endif
}
}
@@ -553,7 +568,12 @@ bool cListItem::IsActive(tChannelID ChannelID)
bool active = false;
if (numchannels > 0) {
int i = 0;
+#if VDRVERSNUM >= 20301
+ LOCK_CHANNELS_READ;
+ int channel_number = Channels->GetByChannelID(ChannelID)->Number();
+#else
int channel_number = Channels.GetByChannelID(ChannelID)->Number();
+#endif
while (i < numchannels) {
if ((channel_number == GetChannelNum(i)) ||
(GetChannelID(i) && (ChannelID == *GetChannelID(i)))) {
From 12db9aadf7a05cae21bd7d75882b8883ac36205d Mon Sep 17 00:00:00 2001
From: glenvt18 <glenvt18@gmail.com>
Date: Thu, 18 May 2017 06:03:32 +0300
Subject: [PATCH 2/2] Make compatible with VDR 2.3.4
---
epghandler.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/epghandler.h b/epghandler.h
index de090af..bf65760 100644
--- a/epghandler.h
+++ b/epghandler.h
@@ -15,6 +15,9 @@ class cEpgfixerEpgHandler : public cEpgHandler
{
public:
cEpgfixerEpgHandler(void) {};
+#if VDRVERSNUM >= 20304
+ virtual bool BeginSegmentTransfer(const cChannel *Channel, bool Dummy) { return true; }
+#endif
virtual bool HandleEvent(cEvent *Event);
virtual bool IgnoreChannel(const cChannel *Channel);
virtual bool FixEpgBugs(cEvent *Event);

View File

@ -18,8 +18,8 @@
################################################################################ ################################################################################
PKG_NAME="vdr-plugin-epgsearch" PKG_NAME="vdr-plugin-epgsearch"
PKG_VERSION="c7c02e2" PKG_VERSION="84b59b8"
PKG_SHA256="d8096c261cf94653f7487e7f89c9d38d8c2a5c27a766816b77fe0c49b4a82208" PKG_SHA256="d6c4a9136588a7cdf2eb43b6b9643a5bb81a44c542c6e6fcf7448b2383901914"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://winni.vdr-developer.org/epgsearch/" PKG_SITE="http://winni.vdr-developer.org/epgsearch/"

View File

@ -18,8 +18,8 @@
################################################################################ ################################################################################
PKG_NAME="vdr-plugin-iptv" PKG_NAME="vdr-plugin-iptv"
PKG_VERSION="0fe1cb7" PKG_VERSION="5ae793f"
PKG_SHA256="34e5c950d6150bbf98ca733a216f67ff56e078dd1db511aee0edc026e431ee6f" PKG_SHA256="b7a071ff46e6e06c18e3fbc413e3c8eb2bdb6cae3af953ce93e94ab445bf5cda"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/iptv/" PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/iptv/"

View File

@ -18,8 +18,8 @@
################################################################################ ################################################################################
PKG_NAME="vdr-plugin-satip" PKG_NAME="vdr-plugin-satip"
PKG_VERSION="0a15717" PKG_VERSION="299296b"
PKG_SHA256="22f0bc5bc10b67f972464cf5dd5ac43c036a9bf8926adc7408f216e40a6a3f57" PKG_SHA256="a6416619e0c57e4e0f3379ccde52a92cebeeec080805f0e7121e599a45e0c0df"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/satip/" PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/satip/"

View File

@ -18,8 +18,8 @@
################################################################################ ################################################################################
PKG_NAME="vdr-plugin-vnsiserver" PKG_NAME="vdr-plugin-vnsiserver"
PKG_VERSION="31c8f71" PKG_VERSION="8c898d9"
PKG_SHA256="0ee419f6821c2cfb0a605a9afadaf2e1ae2a69f49d651a7aab4ea7008e913f11" PKG_SHA256="3f01213b24a12bbbae97575aac2cf166d740c3f4f7f9a40e31cfe67f5964b192"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/FernetMenta/vdr-plugin-vnsiserver" PKG_SITE="https://github.com/FernetMenta/vdr-plugin-vnsiserver"

View File

@ -19,13 +19,13 @@
################################################################################ ################################################################################
PKG_NAME="vdr" PKG_NAME="vdr"
PKG_VERSION="2.3.8" PKG_VERSION="2.4.0"
PKG_SHA256="d871170ee90ef2fc6293eefb44262b82b2e1f00f934681c721da7bd30e45bf22" PKG_SHA256="93af49fe87048073dc38ef5e6c71e9704344d730f21c261afac69e3c937f8cce"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.tvdr.de" PKG_SITE="http://www.tvdr.de"
PKG_URL="ftp://ftp.tvdr.de/vdr/Developer/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_URL="ftp://ftp.tvdr.de/vdr/vdr-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain fontconfig freetype libcap libiconv libjpeg-turbo bzip2" PKG_DEPENDS_TARGET="toolchain bzip2 fontconfig freetype libcap libiconv libjpeg-turbo"
PKG_SECTION="multimedia" PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr: A powerful DVB TV application" PKG_SHORTDESC="vdr: A powerful DVB TV application"
PKG_LONGDESC="This project describes how to build your own digital satellite receiver and video disk recorder. It is based mainly on the DVB-S digital satellite receiver card, which used to be available from Fujitsu Siemens and the driver software developed by the LinuxTV project." PKG_LONGDESC="This project describes how to build your own digital satellite receiver and video disk recorder. It is based mainly on the DVB-S digital satellite receiver card, which used to be available from Fujitsu Siemens and the driver software developed by the LinuxTV project."

View File

@ -0,0 +1,46 @@
ftp://ftp.tvdr.de/vdr/Developer/Patches/vdr-2.4/
# This patch fixes a bug in handling the tfRecording flag in the SVDRP commands MODT
# and UPDT. The tfRecording flag must only be handled by the VDR that actually hosts
# and processes the timer.
#
--- svdrp.c 2018/03/19 12:16:33 5.0
+++ svdrp.c 2018/04/19 09:45:08
@@ -2036,6 +2036,7 @@
LOCK_TIMERS_WRITE;
Timers->SetExplicitModify();
if (cTimer *Timer = Timers->GetById(Id)) {
+ bool IsRecording = Timer->HasFlags(tfRecording);
cTimer t = *Timer;
if (strcasecmp(tail, "ON") == 0)
t.SetFlags(tfActive);
@@ -2046,6 +2047,10 @@
return;
}
*Timer = t;
+ if (IsRecording)
+ Timer->SetFlags(tfRecording);
+ else
+ Timer->ClrFlags(tfRecording);
Timers->SetModified();
isyslog("SVDRP %s < %s modified timer %s (%s)", Setup.SVDRPHostName, *clientName, *Timer->ToDescr(), Timer->HasFlags(tfActive) ? "active" : "inactive");
Reply(250, "%d %s", Timer->Id(), *Timer->ToText(true));
@@ -2478,12 +2483,18 @@
if (Timer->Parse(Option)) {
LOCK_TIMERS_WRITE;
if (cTimer *t = Timers->GetTimer(Timer)) {
+ bool IsRecording = t->HasFlags(tfRecording);
t->Parse(Option);
delete Timer;
Timer = t;
+ if (IsRecording)
+ Timer->SetFlags(tfRecording);
+ else
+ Timer->ClrFlags(tfRecording);
isyslog("SVDRP %s < %s updated timer %s", Setup.SVDRPHostName, *clientName, *Timer->ToDescr());
}
else {
+ Timer->ClrFlags(tfRecording);
Timers->Add(Timer);
isyslog("SVDRP %s < %s added timer %s", Setup.SVDRPHostName, *clientName, *Timer->ToDescr());
}

View File

@ -1,3 +1,12 @@
108
- update VDR to 2.4.0
- update EPG-Fixer plugin to 354f28b
- update EPG-Search plugin to 84b59b8
- update IPTV plugin to 5ae793f
- update Sat>IP plugin to 299296b
- update VNSI to 1.6.0
107 107
- add robotv plugin - add robotv plugin
- add DDCI2 plugin - add DDCI2 plugin

View File

@ -19,8 +19,8 @@
################################################################################ ################################################################################
PKG_NAME="vdr-addon" PKG_NAME="vdr-addon"
PKG_VERSION="2.3" PKG_VERSION="2.4"
PKG_REV="107" PKG_REV="108"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://libreelec.tv" PKG_SITE="https://libreelec.tv"