From 694b28f509e2fba1d9113ed7037995d1c6440f2d Mon Sep 17 00:00:00 2001 From: cvh Date: Tue, 8 May 2018 23:09:37 +0200 Subject: [PATCH] vdr-addon: update to 2.4.0 --- .../vdr-plugin-epgfixer/package.mk | 4 +- ...vdr-plugin-epgfixer-02-VDR-2.3.x-fix.patch | 132 ------------------ .../vdr-plugin-epgsearch/package.mk | 4 +- .../vdr-plugins/vdr-plugin-iptv/package.mk | 4 +- .../vdr-plugins/vdr-plugin-satip/package.mk | 4 +- .../vdr-plugin-vnsiserver/package.mk | 4 +- packages/addons/addon-depends/vdr/package.mk | 8 +- ...dr-10-upstream-fix-svdrp-modt-recflag.diff | 46 ++++++ .../addons/service/vdr-addon/changelog.txt | 9 ++ packages/addons/service/vdr-addon/package.mk | 4 +- 10 files changed, 71 insertions(+), 148 deletions(-) delete mode 100644 packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-02-VDR-2.3.x-fix.patch create mode 100644 packages/addons/addon-depends/vdr/patches/vdr-10-upstream-fix-svdrp-modt-recflag.diff diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk index 0f22742d2a..e7a7b3ccef 100644 --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk @@ -18,8 +18,8 @@ ################################################################################ PKG_NAME="vdr-plugin-epgfixer" -PKG_VERSION="1ad4aaf" -PKG_SHA256="b109c1040e54a2499c1d4c650d7f02cdc7b647af2133839af227a8496c58281e" +PKG_VERSION="354f28b" +PKG_SHA256="15bd73116f3bda9afc274bee97eff829b98f38b13043be32d7bb7f81af294715" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://projects.vdr-developer.org/projects/plg-epgfixer" diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-02-VDR-2.3.x-fix.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-02-VDR-2.3.x-fix.patch deleted file mode 100644 index e436816cd9..0000000000 --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-02-VDR-2.3.x-fix.patch +++ /dev/null @@ -1,132 +0,0 @@ -patches taken from https://projects.vdr-developer.org/projects/plg-epgfixer/issues - -From: glenvt18 -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 -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); diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk index 3df74b3758..6e297f5471 100644 --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk @@ -18,8 +18,8 @@ ################################################################################ PKG_NAME="vdr-plugin-epgsearch" -PKG_VERSION="c7c02e2" -PKG_SHA256="d8096c261cf94653f7487e7f89c9d38d8c2a5c27a766816b77fe0c49b4a82208" +PKG_VERSION="84b59b8" +PKG_SHA256="d6c4a9136588a7cdf2eb43b6b9643a5bb81a44c542c6e6fcf7448b2383901914" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://winni.vdr-developer.org/epgsearch/" diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk index 6e9445a248..807f90a6a9 100644 --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk @@ -18,8 +18,8 @@ ################################################################################ PKG_NAME="vdr-plugin-iptv" -PKG_VERSION="0fe1cb7" -PKG_SHA256="34e5c950d6150bbf98ca733a216f67ff56e078dd1db511aee0edc026e431ee6f" +PKG_VERSION="5ae793f" +PKG_SHA256="b7a071ff46e6e06c18e3fbc413e3c8eb2bdb6cae3af953ce93e94ab445bf5cda" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/iptv/" diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk index 3c1b52ea70..0bf42cd2a6 100644 --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk @@ -18,8 +18,8 @@ ################################################################################ PKG_NAME="vdr-plugin-satip" -PKG_VERSION="0a15717" -PKG_SHA256="22f0bc5bc10b67f972464cf5dd5ac43c036a9bf8926adc7408f216e40a6a3f57" +PKG_VERSION="299296b" +PKG_SHA256="a6416619e0c57e4e0f3379ccde52a92cebeeec080805f0e7121e599a45e0c0df" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/satip/" diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk index 54005d38c8..d6c61ffbee 100644 --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk @@ -18,8 +18,8 @@ ################################################################################ PKG_NAME="vdr-plugin-vnsiserver" -PKG_VERSION="31c8f71" -PKG_SHA256="0ee419f6821c2cfb0a605a9afadaf2e1ae2a69f49d651a7aab4ea7008e913f11" +PKG_VERSION="8c898d9" +PKG_SHA256="3f01213b24a12bbbae97575aac2cf166d740c3f4f7f9a40e31cfe67f5964b192" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="https://github.com/FernetMenta/vdr-plugin-vnsiserver" diff --git a/packages/addons/addon-depends/vdr/package.mk b/packages/addons/addon-depends/vdr/package.mk index 7cd7aadd8f..a8403a81ed 100644 --- a/packages/addons/addon-depends/vdr/package.mk +++ b/packages/addons/addon-depends/vdr/package.mk @@ -19,13 +19,13 @@ ################################################################################ PKG_NAME="vdr" -PKG_VERSION="2.3.8" -PKG_SHA256="d871170ee90ef2fc6293eefb44262b82b2e1f00f934681c721da7bd30e45bf22" +PKG_VERSION="2.4.0" +PKG_SHA256="93af49fe87048073dc38ef5e6c71e9704344d730f21c261afac69e3c937f8cce" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.tvdr.de" -PKG_URL="ftp://ftp.tvdr.de/vdr/Developer/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS_TARGET="toolchain fontconfig freetype libcap libiconv libjpeg-turbo bzip2" +PKG_URL="ftp://ftp.tvdr.de/vdr/vdr-$PKG_VERSION.tar.bz2" +PKG_DEPENDS_TARGET="toolchain bzip2 fontconfig freetype libcap libiconv libjpeg-turbo" PKG_SECTION="multimedia" 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." diff --git a/packages/addons/addon-depends/vdr/patches/vdr-10-upstream-fix-svdrp-modt-recflag.diff b/packages/addons/addon-depends/vdr/patches/vdr-10-upstream-fix-svdrp-modt-recflag.diff new file mode 100644 index 0000000000..696957719f --- /dev/null +++ b/packages/addons/addon-depends/vdr/patches/vdr-10-upstream-fix-svdrp-modt-recflag.diff @@ -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()); + } diff --git a/packages/addons/service/vdr-addon/changelog.txt b/packages/addons/service/vdr-addon/changelog.txt index 7654f1abd3..c4540fb8a3 100644 --- a/packages/addons/service/vdr-addon/changelog.txt +++ b/packages/addons/service/vdr-addon/changelog.txt @@ -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 - add robotv plugin - add DDCI2 plugin diff --git a/packages/addons/service/vdr-addon/package.mk b/packages/addons/service/vdr-addon/package.mk index 25cab23b3a..a83307b488 100644 --- a/packages/addons/service/vdr-addon/package.mk +++ b/packages/addons/service/vdr-addon/package.mk @@ -19,8 +19,8 @@ ################################################################################ PKG_NAME="vdr-addon" -PKG_VERSION="2.3" -PKG_REV="107" +PKG_VERSION="2.4" +PKG_REV="108" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="https://libreelec.tv"