mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-01 06:57:50 +00:00
Merge pull request #2675 from CvH/9.0-vdr-2.4
vdr-addon: update to 2.4.0
This commit is contained in:
commit
704244877a
@ -24,6 +24,7 @@ PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/jasmin-j/vdr-plugin-ddci2"
|
||||
PKG_URL="https://github.com/jasmin-j/vdr-plugin-ddci2/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="Support for stand alone CI by Digital Devices."
|
||||
PKG_LONGDESC="Support for stand alone CI by Digital Devices."
|
||||
|
@ -26,6 +26,7 @@ PKG_SITE="http://www.vdr-wiki.de/wiki/index.php/Dummydevice-plugin"
|
||||
PKG_URL="http://phivdr.dyndns.org/vdr/vdr-dummydevice/${PKG_NAME/-plugin/}-$PKG_VERSION.tgz"
|
||||
PKG_SOURCE_DIR="dummydevice-${PKG_VERSION}"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="This plugin can be used to run vdr as recording server without any output devices."
|
||||
PKG_LONGDESC="This plugin can be used to run vdr as recording server without any output devices."
|
||||
|
@ -25,6 +25,7 @@ PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/manio/vdr-plugin-dvbapi"
|
||||
PKG_URL="https://github.com/manio/vdr-plugin-dvbapi/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr libdvbcsa"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="VDR dvbapi plugin for use with OSCam"
|
||||
PKG_LONGDESC="VDR dvbapi plugin for use with OSCam"
|
||||
|
@ -25,6 +25,7 @@ PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://projects.vdr-developer.org/projects/plg-eepg"
|
||||
PKG_URL="https://github.com/vdr-projects/vdr-plugin-eepg/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="vdr-plugin-eepg"
|
||||
PKG_LONGDESC="This plugin parses the Extended (2 to 10 day) EPG data which is send by providers on their portal channels."
|
||||
|
@ -18,13 +18,14 @@
|
||||
################################################################################
|
||||
|
||||
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"
|
||||
PKG_URL="https://github.com/vdr-projects/vdr-plugin-epgfixer/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr pcre"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="Plugin for modifying EPG data using regular expressions."
|
||||
PKG_LONGDESC="Plugin for modifying EPG data using regular expressions."
|
||||
|
@ -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);
|
@ -18,13 +18,14 @@
|
||||
################################################################################
|
||||
|
||||
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/"
|
||||
PKG_URL="https://github.com/vdr-projects/vdr-plugin-epgsearch/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="EPGSearch is a plugin for the Video-Disc-Recorder (VDR)."
|
||||
PKG_LONGDESC="EPGSearch is a plugin for the Video-Disc-Recorder (VDR)."
|
||||
|
@ -18,13 +18,14 @@
|
||||
################################################################################
|
||||
|
||||
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/"
|
||||
PKG_URL="https://github.com/rofafor/vdr-plugin-iptv/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr curl"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="vdr-iptv: an IPTV plugin for the Video Disk Recorder (VDR)"
|
||||
PKG_LONGDESC="vdr-iptv is an IPTV plugin for the Video Disk Recorder (VDR)"
|
||||
|
@ -26,6 +26,7 @@ PKG_SITE="http://live.vdr-developer.org/en/index.php"
|
||||
PKG_URL="https://github.com/vdr-projects/vdr-plugin-live/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="$PKG_NAME-${PKG_VERSION}*"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr tntnet pcre:host pcre"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="vdr-live: the LIVE Interactive VDR Environment/"
|
||||
PKG_LONGDESC="vdr-live allows a comfortable operation of VDR and some of its plugins trough a web interface"
|
||||
|
@ -25,6 +25,7 @@ PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/yavdr/vdr-plugin-restfulapi"
|
||||
PKG_URL="https://github.com/yavdr/${PKG_NAME}/releases/download/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr cxxtools vdr-plugin-wirbelscan"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="vdr-plugin-restfulapi: the restful API for the VDR/"
|
||||
PKG_LONGDESC="vdr-plugin-restfulapi allows to access many internals of the VDR via a restful API"
|
||||
|
@ -24,6 +24,7 @@ PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/pipelka/roboTV"
|
||||
PKG_URL="https://github.com/pipelka/vdr-plugin-robotv/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr avahi"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="VDR server plugin for roboTV"
|
||||
PKG_LONGDESC="RoboTV is a Android TV based frontend for VDR"
|
||||
|
@ -18,13 +18,14 @@
|
||||
################################################################################
|
||||
|
||||
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/"
|
||||
PKG_URL="https://github.com/rofafor/vdr-plugin-satip/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr curl tinyxml"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="VDR-satip: SAT>IP plugin for VDR"
|
||||
PKG_LONGDESC="This is an SAT>IP plugin for the Video Disk Recorder (VDR)."
|
||||
|
@ -25,6 +25,7 @@ PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://projects.vdr-developer.org/projects/plg-streamdev"
|
||||
PKG_URL="https://github.com/vdr-projects/vdr-plugin-streamdev/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr openssl"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="This PlugIn is a VDR implementation of Video Transfer and a basic HTTP Streaming Protocol."
|
||||
PKG_LONGDESC="This PlugIn is a VDR implementation of Video Transfer and a basic HTTP Streaming Protocol."
|
||||
|
@ -0,0 +1,15 @@
|
||||
|
||||
https://www.vdr-portal.de/forum/index.php?thread/131708-gel%C3%B6st-vdr-2-3-9-h%C3%A4ngt-bei-der-wiedergabe-von-aufnahmen-mit-rpihddevice/&postID=1303098#post1303098
|
||||
|
||||
diff --git a/client/device.c b/client/device.c
|
||||
index a810f53..2e54e34 100644
|
||||
--- a/client/device.c
|
||||
+++ b/client/device.c
|
||||
@@ -190,7 +190,6 @@ bool cStreamdevDevice::SetChannelDevice(const cChannel *Channel,
|
||||
|
||||
bool cStreamdevDevice::SetPid(cPidHandle *Handle, int Type, bool On) {
|
||||
Dprintf("SetPid, Pid=%d, Type=%d, On=%d, used=%d\n", Handle->pid, Type, On, Handle->used);
|
||||
- LOCK_THREAD;
|
||||
|
||||
bool res = true;
|
||||
if (Handle->pid && (On || !Handle->used)) {
|
@ -18,13 +18,14 @@
|
||||
################################################################################
|
||||
|
||||
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"
|
||||
PKG_URL="https://github.com/FernetMenta/vdr-plugin-vnsiserver/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="VDR plugin to handle Kodi clients."
|
||||
PKG_LONGDESC="VDR plugin to handle Kodi clients."
|
||||
|
@ -26,6 +26,7 @@ PKG_SITE="http://wirbel.htpc-forum.de/wirbelscan/index2.html"
|
||||
PKG_URL="http://wirbel.htpc-forum.de/wirbelscan/${PKG_NAME/-plugin/}-dev-$PKG_VERSION.tgz"
|
||||
PKG_SOURCE_DIR="wirbelscan-${PKG_VERSION}"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="Performs a channel scans for DVB-T, DVB-C and DVB-S"
|
||||
PKG_LONGDESC="Performs a channel scans for DVB-T, DVB-C and DVB-S"
|
||||
|
@ -26,6 +26,7 @@ PKG_SITE="http://wirbel.htpc-forum.de/wirbelscancontrol/index2.html"
|
||||
PKG_URL="http://wirbel.htpc-forum.de/wirbelscancontrol/${PKG_NAME/-plugin/}-$PKG_VERSION.tgz"
|
||||
PKG_SOURCE_DIR="wirbelscancontrol-${PKG_VERSION}"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr vdr-plugin-wirbelscan"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="Adds menu entry for wirbelscan at VDR."
|
||||
PKG_LONGDESC="Adds menu entry for wirbelscan at VDR."
|
||||
|
@ -25,6 +25,7 @@ PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://projects.vdr-developer.org/projects/plg-xmltv2vdr"
|
||||
PKG_URL="https://github.com/vdr-projects/vdr-plugin-xmltv2vdr/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain vdr sqlite curl libzip libxml2 libxslt enca pcre"
|
||||
PKG_NEED_UNPACK="$(get_pkg_directory vdr)"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="xmltv2vdr imports data in xmltv format"
|
||||
PKG_LONGDESC="xmltv2vdr imports data in xmltv format"
|
||||
|
@ -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."
|
||||
|
@ -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());
|
||||
}
|
@ -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
|
||||
|
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user