Guest User

vdr 2.3.8 for LE 8.2.3

a guest
Mar 18th, 2018
381
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-ddci2/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-ddci2/package.mk
  2. new file mode 100644
  3. index 0000000..fb76d70
  4. --- /dev/null
  5. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-ddci2/package.mk
  6. @@ -0,0 +1,56 @@
  7. +################################################################################
  8. +#      This file is part of LibreELEC - https://libreelec.tv
  9. +#      Copyright (C) 2017-present Team LibreELEC
  10. +#
  11. +#  LibreELEC is free software: you can redistribute it and/or modify
  12. +#  it under the terms of the GNU General Public License as published by
  13. +#  the Free Software Foundation, either version 2 of the License, or
  14. +#  (at your option) any later version.
  15. +#
  16. +#  LibreELEC is distributed in the hope that it will be useful,
  17. +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19. +#  GNU General Public License for more details.
  20. +#
  21. +#  You should have received a copy of the GNU General Public License
  22. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  23. +################################################################################
  24. +
  25. +PKG_NAME="vdr-plugin-ddci2"
  26. +PKG_VERSION="05dd988"
  27. +PKG_SHA256="b8ed2787e9140eb00a68397eaeb14862ba88a6e73480dc3220a098faffb14833"
  28. +PKG_ARCH="any"
  29. +PKG_LICENSE="GPL"
  30. +PKG_SITE="https://github.com/jasmin-j/vdr-plugin-ddci2"
  31. +PKG_URL="https://github.com/jasmin-j/vdr-plugin-ddci2/archive/$PKG_VERSION.tar.gz"
  32. +PKG_DEPENDS_TARGET="toolchain vdr"
  33. +PKG_SECTION="multimedia"
  34. +PKG_SHORTDESC="Support for stand alone CI by Digital Devices."
  35. +PKG_LONGDESC="Support for stand alone CI by Digital Devices."
  36. +
  37. +PKG_IS_ADDON="no"
  38. +PKG_AUTORECONF="no"
  39. +
  40. +make_target() {
  41. +  VDR_DIR=$(get_build_dir vdr)
  42. +  export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
  43. +  export CPLUS_INCLUDE_PATH=$VDR_DIR/include
  44. +
  45. +  make \
  46. +    LIBDIR="." \
  47. +    LOCDIR="./locale" \
  48. +    all
  49. +}
  50. +
  51. +post_make_target() {
  52. +  VDR_DIR=$(get_build_dir vdr)
  53. +  VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$//p' $VDR_DIR/config.h`
  54. +  LIB_NAME=lib${PKG_NAME/-plugin/}
  55. +
  56. +  cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  57. +  $STRIP libvdr-*.so*
  58. +}
  59. +
  60. +makeinstall_target() {
  61. +  : # installation not needed, done by create-addon script
  62. +}
  63. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dummydevice/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dummydevice/package.mk
  64. index 3c30f77..1f647b1 100644
  65. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dummydevice/package.mk
  66. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dummydevice/package.mk
  67. @@ -1,23 +1,25 @@
  68.  ################################################################################
  69. -#      This file is part of OpenELEC - http://www.openelec.tv
  70. +#      This file is part of LibreELEC - https://libreelec.tv
  71. +#      Copyright (C) 2016-present Team LibreELEC
  72.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  73.  #
  74. -#  OpenELEC is free software: you can redistribute it and/or modify
  75. +#  LibreELEC is free software: you can redistribute it and/or modify
  76.  #  it under the terms of the GNU General Public License as published by
  77.  #  the Free Software Foundation, either version 2 of the License, or
  78.  #  (at your option) any later version.
  79.  #
  80. -#  OpenELEC is distributed in the hope that it will be useful,
  81. +#  LibreELEC is distributed in the hope that it will be useful,
  82.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  83.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  84.  #  GNU General Public License for more details.
  85.  #
  86.  #  You should have received a copy of the GNU General Public License
  87. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  88. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  89.  ################################################################################
  90.  
  91.  PKG_NAME="vdr-plugin-dummydevice"
  92.  PKG_VERSION="2.0.0"
  93. +PKG_SHA256="5c0049824415bd463d3abc728a3136ee064b60a37b5d3a1986cf282b0d757085"
  94.  PKG_ARCH="any"
  95.  PKG_LICENSE="GPL"
  96.  PKG_SITE="http://www.vdr-wiki.de/wiki/index.php/Dummydevice-plugin"
  97. @@ -25,8 +27,8 @@ PKG_URL="http://phivdr.dyndns.org/vdr/vdr-dummydevice/${PKG_NAME/-plugin/}-$PKG_
  98.  PKG_SOURCE_DIR="dummydevice-${PKG_VERSION}"
  99.  PKG_DEPENDS_TARGET="toolchain vdr"
  100.  PKG_SECTION="multimedia"
  101. -PKG_SHORTDESC="vdr dummydevice plugin"
  102. -PKG_LONGDESC="vdr dummydevice plugin"
  103. +PKG_SHORTDESC="This plugin can be used to run vdr as recording server without any output devices."
  104. +PKG_LONGDESC="This plugin can be used to run vdr as recording server without any output devices."
  105.  
  106.  PKG_IS_ADDON="no"
  107.  PKG_AUTORECONF="no"
  108. @@ -48,7 +50,6 @@ post_make_target() {
  109.    LIB_NAME=lib${PKG_NAME/-plugin/}
  110.  
  111.    cp --remove-destination ${LIB_NAME}.so ${LIB_NAME}.so.${VDR_APIVERSION}
  112. -  $STRIP libvdr-*.so*
  113.  }
  114.  
  115.  makeinstall_target() {
  116. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/package.mk
  117. index d79e76f..cfeede0 100644
  118. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/package.mk
  119. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/package.mk
  120. @@ -1,32 +1,33 @@
  121.  ################################################################################
  122. -#      This file is part of OpenELEC - http://www.openelec.tv
  123. +#      This file is part of LibreELEC - https://libreelec.tv
  124. +#      Copyright (C) 2016-present Team LibreELEC
  125.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  126.  #
  127. -#  OpenELEC is free software: you can redistribute it and/or modify
  128. +#  LibreELEC is free software: you can redistribute it and/or modify
  129.  #  it under the terms of the GNU General Public License as published by
  130.  #  the Free Software Foundation, either version 2 of the License, or
  131.  #  (at your option) any later version.
  132.  #
  133. -#  OpenELEC is distributed in the hope that it will be useful,
  134. +#  LibreELEC is distributed in the hope that it will be useful,
  135.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  136.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  137.  #  GNU General Public License for more details.
  138.  #
  139.  #  You should have received a copy of the GNU General Public License
  140. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  141. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  142.  ################################################################################
  143.  
  144.  PKG_NAME="vdr-plugin-dvbapi"
  145. -PKG_VERSION="d7c7587"
  146. +PKG_VERSION="7d51cc4"
  147. +PKG_SHA256="b16840574802581950343942559797aeccbc4a8fc216901ad0cea42f420bfd7c"
  148.  PKG_ARCH="any"
  149.  PKG_LICENSE="GPL"
  150.  PKG_SITE="https://github.com/manio/vdr-plugin-dvbapi"
  151.  PKG_URL="https://github.com/manio/vdr-plugin-dvbapi/archive/$PKG_VERSION.tar.gz"
  152.  PKG_DEPENDS_TARGET="toolchain vdr libdvbcsa"
  153.  PKG_SECTION="multimedia"
  154. -PKG_SHORTDESC="TV"
  155. -PKG_LONGDESC="TV"
  156. -
  157. +PKG_SHORTDESC="VDR dvbapi plugin for use with OSCam"
  158. +PKG_LONGDESC="VDR dvbapi plugin for use with OSCam"
  159.  PKG_IS_ADDON="no"
  160.  
  161.  PKG_AUTORECONF="no"
  162. @@ -54,7 +55,6 @@ post_make_target() {
  163.    LIB_NAME=lib${PKG_NAME/-plugin/}
  164.  
  165.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  166. -  $STRIP libvdr-*.so*
  167.  }
  168.  
  169.  makeinstall_target() {
  170. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-01_crosscompiling.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-01_crosscompiling.patch
  171. index a249ffc..20d3a11 100644
  172. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-01_crosscompiling.patch
  173. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-01_crosscompiling.patch
  174. @@ -1,5 +1,3 @@
  175. -diff --git a/Makefile b/Makefile
  176. -index d18b016..278af2b 100644
  177.  --- a/Makefile
  178.  +++ b/Makefile
  179.  @@ -156,7 +156,7 @@ libdvbapi-dvbufs9xx.so: device-ufs9xx.o
  180. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-eepg/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-eepg/package.mk
  181. index 38106d1..ffcb978 100644
  182. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-eepg/package.mk
  183. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-eepg/package.mk
  184. @@ -1,34 +1,35 @@
  185.  ################################################################################
  186. -#      This file is part of OpenELEC - http://www.openelec.tv
  187. +#      This file is part of LibreELEC - https://libreelec.tv
  188. +#      Copyright (C) 2016-present Team LibreELEC
  189.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  190.  #
  191. -#  OpenELEC is free software: you can redistribute it and/or modify
  192. +#  LibreELEC is free software: you can redistribute it and/or modify
  193.  #  it under the terms of the GNU General Public License as published by
  194.  #  the Free Software Foundation, either version 2 of the License, or
  195.  #  (at your option) any later version.
  196.  #
  197. -#  OpenELEC is distributed in the hope that it will be useful,
  198. +#  LibreELEC is distributed in the hope that it will be useful,
  199.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  200.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  201.  #  GNU General Public License for more details.
  202.  #
  203.  #  You should have received a copy of the GNU General Public License
  204. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  205. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  206.  ################################################################################
  207.  
  208.  PKG_NAME="vdr-plugin-eepg"
  209. -PKG_VERSION="9cd9a75"
  210. +PKG_VERSION="584d766"
  211. +PKG_SHA256="0ad19af6bcfb5f7de05814dfcb4ab18bb4f705fdbe60b11ab7dbf72cf0d85231"
  212.  PKG_ARCH="any"
  213.  PKG_LICENSE="GPL"
  214.  PKG_SITE="http://projects.vdr-developer.org/projects/plg-eepg"
  215. -PKG_URL="http://projects.vdr-developer.org/git/vdr-plugin-eepg.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
  216. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-eepg/archive/$PKG_VERSION.tar.gz"
  217.  PKG_DEPENDS_TARGET="toolchain vdr"
  218.  PKG_SECTION="multimedia"
  219.  PKG_SHORTDESC="vdr-plugin-eepg"
  220. -PKG_LONGDESC="This plugin parses the Extended (2 to 10 day) EPG data which is send by providers on their portal channels. This EEPG data is transmitted in a non-standard format on a non-standard PID."
  221. +PKG_LONGDESC="This plugin parses the Extended (2 to 10 day) EPG data which is send by providers on their portal channels."
  222.  
  223.  PKG_IS_ADDON="no"
  224. -
  225.  PKG_AUTORECONF="no"
  226.  
  227.  make_target() {
  228. @@ -48,7 +49,6 @@ post_make_target() {
  229.    LIB_NAME=lib${PKG_NAME/-plugin/}
  230.  
  231.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  232. -  $STRIP libvdr-*.so*
  233.  }
  234.  
  235.  makeinstall_target() {
  236. 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
  237. index 8d3d6d5..5a53c14 100644
  238. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk
  239. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk
  240. @@ -1,34 +1,35 @@
  241.  ################################################################################
  242. -#      This file is part of OpenELEC - http://www.openelec.tv
  243. +#      This file is part of LibreELEC - https://libreelec.tv
  244. +#      Copyright (C) 2016-present Team LibreELEC
  245.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  246.  #
  247. -#  OpenELEC is free software: you can redistribute it and/or modify
  248. +#  LibreELEC is free software: you can redistribute it and/or modify
  249.  #  it under the terms of the GNU General Public License as published by
  250.  #  the Free Software Foundation, either version 2 of the License, or
  251.  #  (at your option) any later version.
  252.  #
  253. -#  OpenELEC is distributed in the hope that it will be useful,
  254. +#  LibreELEC is distributed in the hope that it will be useful,
  255.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  256.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  257.  #  GNU General Public License for more details.
  258.  #
  259.  #  You should have received a copy of the GNU General Public License
  260. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  261. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  262.  ################################################################################
  263.  
  264.  PKG_NAME="vdr-plugin-epgfixer"
  265.  PKG_VERSION="1ad4aaf"
  266. +PKG_SHA256="b109c1040e54a2499c1d4c650d7f02cdc7b647af2133839af227a8496c58281e"
  267.  PKG_ARCH="any"
  268.  PKG_LICENSE="GPL"
  269.  PKG_SITE="http://projects.vdr-developer.org/projects/plg-epgfixer"
  270. -PKG_URL="http://projects.vdr-developer.org/git/vdr-plugin-epgfixer.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
  271. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-epgfixer/archive/$PKG_VERSION.tar.gz"
  272.  PKG_DEPENDS_TARGET="toolchain vdr pcre"
  273.  PKG_SECTION="multimedia"
  274. -PKG_SHORTDESC="vdr-plugin-epgfixer"
  275. +PKG_SHORTDESC="Plugin for modifying EPG data using regular expressions."
  276.  PKG_LONGDESC="Plugin for modifying EPG data using regular expressions."
  277.  
  278.  PKG_IS_ADDON="no"
  279. -
  280.  PKG_AUTORECONF="no"
  281.  
  282.  make_target() {
  283. @@ -48,7 +49,6 @@ post_make_target() {
  284.    LIB_NAME=lib${PKG_NAME/-plugin/}
  285.  
  286.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  287. -  $STRIP libvdr-*.so*
  288.  }
  289.  
  290.  makeinstall_target() {
  291. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-01-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-01-pkgconfig.patch
  292. new file mode 100644
  293. index 0000000..1cf7526
  294. --- /dev/null
  295. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-01-pkgconfig.patch
  296. @@ -0,0 +1,13 @@
  297. +--- a/Makefile
  298. ++++ b/Makefile
  299. +@@ -70,8 +70,8 @@
  300. + OBJS = $(PLUGIN).o blacklist.o charset.o config.o epgclone.o epghandler.o regexp.o setup_menu.o tools.o
  301. +
  302. + ifeq ($(REGEXLIB), pcre)
  303. +-LIBS += $(shell pcre-config --libs-posix)
  304. +-INCLUDES += $(shell pcre-config --cflags)
  305. ++LIBS += $(shell pkg-config --libs libpcreposix libpcre)
  306. ++INCLUDES += $(shell pkg-config --cflags libpcre)
  307. + DEFINES += -DHAVE_PCREPOSIX
  308. + endif
  309. +
  310. 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
  311. new file mode 100644
  312. index 0000000..e436816
  313. --- /dev/null
  314. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-02-VDR-2.3.x-fix.patch
  315. @@ -0,0 +1,132 @@
  316. +patches taken from https://projects.vdr-developer.org/projects/plg-epgfixer/issues
  317. +
  318. +From: glenvt18 <glenvt18@gmail.com>
  319. +Date: Tue, 24 May 2016 02:36:55 +0300
  320. +Subject: [PATCH 1/2] Fix compiling against VDR >= 2.3.1
  321. +
  322. +--- a/epgclone.c
  323. ++++ b/epgclone.c
  324. +@@ -49,9 +49,16 @@ void cEpgClone::CloneEvent(cEvent *Source, cEvent *Dest) {
  325. +      Dest->SetSeen();
  326. +   tChannelID channelID;
  327. +   if (dest_num) {
  328. ++#if VDRVERSNUM >= 20301
  329. ++     LOCK_CHANNELS_READ;
  330. ++     const cChannel *dest_chan = Channels->GetByNumber(dest_num);
  331. ++     if (dest_chan)
  332. ++        channelID = Channels->GetByNumber(dest_num)->GetChannelID();
  333. ++#else
  334. +      cChannel *dest_chan = Channels.GetByNumber(dest_num);
  335. +      if (dest_chan)
  336. +         channelID = Channels.GetByNumber(dest_num)->GetChannelID();
  337. ++#endif
  338. +      else
  339. +         channelID = tChannelID::InvalidID;
  340. +      }
  341. +diff --git a/setup_menu.c b/setup_menu.c
  342. +index 8b60870..fcba6b1 100644
  343. +--- a/setup_menu.c
  344. ++++ b/setup_menu.c
  345. +@@ -264,9 +264,21 @@ eOSState cMenuSetupEpgfixer::ProcessKey(eKeys Key)
  346. +          break;
  347. +        case kBlue:
  348. +          Skins.Message(mtInfo, tr("Clearing EPG data..."));
  349. ++#if VDRVERSNUM >= 20301
  350. ++         {
  351. ++         LOCK_TIMERS_WRITE;
  352. ++         LOCK_SCHEDULES_WRITE;
  353. ++         for (cTimer *Timer = Timers->First(); Timer; Timer = Timers->Next(Timer))
  354. ++            Timer->SetEvent(NULL);
  355. ++         for (cSchedule *Schedule = Schedules->First(); Schedule; Schedule = Schedules->Next(Schedule))
  356. ++            Schedule->Cleanup(INT_MAX);
  357. ++         }
  358. ++         cEitFilter::SetDisableUntil(time(NULL) + 10);
  359. ++#else
  360. +          cEitFilter::SetDisableUntil(time(NULL) + 10);
  361. +          if (cSchedules::ClearAll())
  362. +             cEitFilter::SetDisableUntil(time(NULL) + 10);
  363. ++#endif
  364. +          Skins.Message(mtInfo, NULL);
  365. +          state = osContinue;
  366. +          break;
  367. +diff --git a/tools.c b/tools.c
  368. +index 9c9133d..35c4b53 100644
  369. +--- a/tools.c
  370. ++++ b/tools.c
  371. +@@ -463,14 +463,26 @@ cAddEventThread::~cAddEventThread(void)
  372. + void cAddEventThread::Action(void)
  373. + {
  374. +   SetPriority(19);
  375. +-  while (Running() && !LastHandleEvent.TimedOut()) {
  376. ++  for (; Running() && !LastHandleEvent.TimedOut(); cCondWait::SleepMs(10)) {
  377. ++        if (list->First() == NULL)
  378. ++           continue;
  379. +         cAddEventListItem *e = NULL;
  380. ++#if VDRVERSNUM >= 20301
  381. ++        cStateKey StateKey;
  382. ++        cSchedules *schedules = cSchedules::GetSchedulesWrite(StateKey, 10);
  383. ++        LOCK_CHANNELS_READ;
  384. ++#else
  385. +         cSchedulesLock SchedulesLock(true, 10);
  386. +         cSchedules *schedules = (cSchedules *)cSchedules::Schedules(SchedulesLock);
  387. ++#endif
  388. +         Lock();
  389. +         while (schedules && (e = list->First()) != NULL) {
  390. +               tChannelID chanid = e->GetChannelID();
  391. ++#if VDRVERSNUM >= 20301
  392. ++              const cChannel *chan = Channels->GetByChannelID(chanid);
  393. ++#else
  394. +               cChannel *chan = Channels.GetByChannelID(chanid);
  395. ++#endif
  396. +               if (!chan) {
  397. +                  error("Destination channel %s not found for cloning!", *chanid.ToString());
  398. +                  }
  399. +@@ -485,7 +497,10 @@ void cAddEventThread::Action(void)
  400. +               list->Del(e);
  401. +               }
  402. +         Unlock();
  403. +-        cCondWait::SleepMs(10);
  404. ++#if VDRVERSNUM >= 20301
  405. ++        if (schedules)
  406. ++           StateKey.Remove();
  407. ++#endif
  408. +         }
  409. + }
  410. +
  411. +@@ -553,7 +568,12 @@ bool cListItem::IsActive(tChannelID ChannelID)
  412. +   bool active = false;
  413. +   if (numchannels > 0) {
  414. +      int i = 0;
  415. ++#if VDRVERSNUM >= 20301
  416. ++     LOCK_CHANNELS_READ;
  417. ++     int channel_number = Channels->GetByChannelID(ChannelID)->Number();
  418. ++#else
  419. +      int channel_number = Channels.GetByChannelID(ChannelID)->Number();
  420. ++#endif
  421. +      while (i < numchannels) {
  422. +            if ((channel_number == GetChannelNum(i)) ||
  423. +                (GetChannelID(i) && (ChannelID == *GetChannelID(i)))) {
  424. +
  425. +From 12db9aadf7a05cae21bd7d75882b8883ac36205d Mon Sep 17 00:00:00 2001
  426. +From: glenvt18 <glenvt18@gmail.com>
  427. +Date: Thu, 18 May 2017 06:03:32 +0300
  428. +Subject: [PATCH 2/2] Make compatible with VDR 2.3.4
  429. +
  430. +---
  431. + epghandler.h | 3 +++
  432. + 1 file changed, 3 insertions(+)
  433. +
  434. +diff --git a/epghandler.h b/epghandler.h
  435. +index de090af..bf65760 100644
  436. +--- a/epghandler.h
  437. ++++ b/epghandler.h
  438. +@@ -15,6 +15,9 @@ class cEpgfixerEpgHandler : public cEpgHandler
  439. + {
  440. + public:
  441. +   cEpgfixerEpgHandler(void) {};
  442. ++#if VDRVERSNUM >= 20304
  443. ++  virtual bool BeginSegmentTransfer(const cChannel *Channel, bool Dummy) { return true; }
  444. ++#endif
  445. +   virtual bool HandleEvent(cEvent *Event);
  446. +   virtual bool IgnoreChannel(const cChannel *Channel);
  447. +   virtual bool FixEpgBugs(cEvent *Event);
  448. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-pkgconfig.patch
  449. deleted file mode 100644
  450. index 9ba62a0..0000000
  451. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-pkgconfig.patch
  452. +++ /dev/null
  453. @@ -1,14 +0,0 @@
  454. -diff -Naur vdr-plugin-epgfixer-1ad4aaf/Makefile vdr-plugin-epgfixer-1ad4aaf.patch/Makefile
  455. ---- vdr-plugin-epgfixer-1ad4aaf/Makefile   2015-01-01 11:15:50.000000000 +0100
  456. -+++ vdr-plugin-epgfixer-1ad4aaf.patch/Makefile 2016-01-07 04:40:37.742655989 +0100
  457. -@@ -70,8 +70,8 @@
  458. - OBJS = $(PLUGIN).o blacklist.o charset.o config.o epgclone.o epghandler.o regexp.o setup_menu.o tools.o
  459. -
  460. - ifeq ($(REGEXLIB), pcre)
  461. --LIBS += $(shell pcre-config --libs-posix)
  462. --INCLUDES += $(shell pcre-config --cflags)
  463. -+LIBS += $(shell pkg-config --libs libpcreposix libpcre)
  464. -+INCLUDES += $(shell pkg-config --cflags libpcre)
  465. - DEFINES += -DHAVE_PCREPOSIX
  466. - endif
  467. -
  468. 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
  469. index c98f7b8..1ddbcf0 100644
  470. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk
  471. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk
  472. @@ -1,34 +1,35 @@
  473.  ################################################################################
  474. -#      This file is part of OpenELEC - http://www.openelec.tv
  475. +#      This file is part of LibreELEC - https://libreelec.tv
  476. +#      Copyright (C) 2016-present Team LibreELEC
  477.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  478.  #
  479. -#  OpenELEC is free software: you can redistribute it and/or modify
  480. +#  LibreELEC is free software: you can redistribute it and/or modify
  481.  #  it under the terms of the GNU General Public License as published by
  482.  #  the Free Software Foundation, either version 2 of the License, or
  483.  #  (at your option) any later version.
  484.  #
  485. -#  OpenELEC is distributed in the hope that it will be useful,
  486. +#  LibreELEC is distributed in the hope that it will be useful,
  487.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  488.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  489.  #  GNU General Public License for more details.
  490.  #
  491.  #  You should have received a copy of the GNU General Public License
  492. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  493. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  494.  ################################################################################
  495.  
  496.  PKG_NAME="vdr-plugin-epgsearch"
  497. -PKG_VERSION="0b09f90"
  498. +PKG_VERSION="c7c02e2"
  499. +PKG_SHA256="d8096c261cf94653f7487e7f89c9d38d8c2a5c27a766816b77fe0c49b4a82208"
  500.  PKG_ARCH="any"
  501.  PKG_LICENSE="GPL"
  502.  PKG_SITE="http://winni.vdr-developer.org/epgsearch/"
  503. -PKG_URL="https://projects.vdr-developer.org/git/vdr-plugin-epgsearch.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
  504. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-epgsearch/archive/$PKG_VERSION.tar.gz"
  505.  PKG_DEPENDS_TARGET="toolchain vdr"
  506.  PKG_SECTION="multimedia"
  507. -PKG_SHORTDESC="vdr-epgsearch"
  508. -PKG_LONGDESC="vdr-epgsearch"
  509. +PKG_SHORTDESC="EPGSearch is a plugin for the Video-Disc-Recorder (VDR)."
  510. +PKG_LONGDESC="EPGSearch is a plugin for the Video-Disc-Recorder (VDR)."
  511.  
  512.  PKG_IS_ADDON="no"
  513. -
  514.  PKG_AUTORECONF="no"
  515.  
  516.  make_target() {
  517. @@ -48,7 +49,6 @@ post_make_target() {
  518.    LIB_NAME=lib${PKG_NAME/-plugin/}
  519.  
  520.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  521. -  $STRIP libvdr-*.so*
  522.  }
  523.  
  524.  makeinstall_target() {
  525. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-01-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-01-pkgconfig.patch
  526. index 4da0f3b..12a1693 100644
  527. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-01-pkgconfig.patch
  528. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-01-pkgconfig.patch
  529. @@ -1,6 +1,5 @@
  530. -diff -Naur vdr-epgsearch-29c174a/Makefile vdr-epgsearch-29c174a.patch/Makefile
  531. ---- vdr-epgsearch-29c174a/Makefile 2014-01-18 16:53:11.000000000 +0100
  532. -+++ vdr-epgsearch-29c174a.patch/Makefile   2016-01-07 04:47:33.004326981 +0100
  533. +--- a/Makefile
  534. ++++ b/Makefile
  535.  @@ -130,9 +130,8 @@
  536.   OBJS = afuzzy.o blacklist.o changrp.o confdloader.o conflictcheck.o conflictcheck_thread.o distance.o $(PLUGIN).o epgsearchcats.o epgsearchcfg.o epgsearchext.o epgsearchsetup.o  epgsearchsvdrp.o epgsearchtools.o mail.o md5.o menu_announcelist.o menu_blacklistedit.o menu_blacklists.o menu_commands.o menu_conflictcheck.o menu_deftimercheckmethod.o menu_dirselect.o menu_event.o menu_favorites.o menu_main.o menu_myedittimer.o menu_quicksearch.o menu_recsdone.o menu_search.o menu_searchactions.o menu_searchedit.o menu_searchresults.o menu_searchtemplate.o menu_switchtimers.o menu_templateedit.o menu_timersdone.o menu_whatson.o noannounce.o pending_notifications.o rcfile.o  recdone.o recstatus.o searchtimer_thread.o services.o switchtimer.o switchtimer_thread.o templatefile.o timer_thread.o timerdone.o timerstatus.o uservars.o varparser.o
  537.  
  538. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-02_don-t-build-unused-plugins.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-02_don-t-build-unused-plugins.patch
  539. index 00e6a9c..a21f4cf 100644
  540. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-02_don-t-build-unused-plugins.patch
  541. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-02_don-t-build-unused-plugins.patch
  542. @@ -1,14 +1,6 @@
  543. -From 61c795e71df00f4d3c22d2be405ceb0eb0e0e49c Mon Sep 17 00:00:00 2001
  544.  From: Stefan Saraev <stefan@saraev.ca>
  545. -Date: Fri, 22 Nov 2013 21:45:56 +0200
  546.  Subject: [PATCH] don't build unused plugins
  547.  
  548. ----
  549. - Makefile |    6 +++---
  550. - 1 files changed, 3 insertions(+), 3 deletions(-)
  551. -
  552. -diff --git a/Makefile b/Makefile
  553. -index 118e379..5f15ebe 100644
  554.  --- a/Makefile
  555.  +++ b/Makefile
  556.  @@ -16,9 +16,9 @@
  557. @@ -24,6 +16,4 @@ index 118e379..5f15ebe 100644
  558.  
  559.   ### edit this to '0' if you don't want epgsearch to auto config itself
  560.   AUTOCONFIG=1
  561. ---
  562. -1.7.2.5
  563.  
  564. 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
  565. index ab40a6b..48a5618 100644
  566. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk
  567. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk
  568. @@ -1,23 +1,25 @@
  569.  ################################################################################
  570. -#      This file is part of OpenELEC - http://www.openelec.tv
  571. +#      This file is part of LibreELEC - https://libreelec.tv
  572. +#      Copyright (C) 2016-present Team LibreELEC
  573.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  574.  #
  575. -#  OpenELEC is free software: you can redistribute it and/or modify
  576. +#  LibreELEC is free software: you can redistribute it and/or modify
  577.  #  it under the terms of the GNU General Public License as published by
  578.  #  the Free Software Foundation, either version 2 of the License, or
  579.  #  (at your option) any later version.
  580.  #
  581. -#  OpenELEC is distributed in the hope that it will be useful,
  582. +#  LibreELEC is distributed in the hope that it will be useful,
  583.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  584.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  585.  #  GNU General Public License for more details.
  586.  #
  587.  #  You should have received a copy of the GNU General Public License
  588. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  589. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  590.  ################################################################################
  591.  
  592.  PKG_NAME="vdr-plugin-iptv"
  593. -PKG_VERSION="2226be2"
  594. +PKG_VERSION="0fe1cb7"
  595. +PKG_SHA256="34e5c950d6150bbf98ca733a216f67ff56e078dd1db511aee0edc026e431ee6f"
  596.  PKG_ARCH="any"
  597.  PKG_LICENSE="GPL"
  598.  PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/iptv/"
  599. @@ -47,7 +49,6 @@ post_make_target() {
  600.    LIB_NAME=lib${PKG_NAME/-plugin/}
  601.  
  602.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  603. -  $STRIP libvdr-*.so*
  604.  }
  605.  
  606.  makeinstall_target() {
  607. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/patches/vdr-plugin-iptv-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/patches/vdr-plugin-iptv-pkgconfig.patch
  608. index 3ea17f9..89e45a8 100644
  609. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/patches/vdr-plugin-iptv-pkgconfig.patch
  610. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/patches/vdr-plugin-iptv-pkgconfig.patch
  611. @@ -1,6 +1,5 @@
  612. -diff -Naur iptv-2.2.1/Makefile iptv-2.2.1.patch/Makefile
  613. ---- iptv-2.2.1/Makefile    2015-04-04 03:20:00.000000000 +0200
  614. -+++ iptv-2.2.1.patch/Makefile  2016-01-07 07:37:31.037078104 +0100
  615. +--- a/Makefile
  616. ++++ b/Makefile
  617.  @@ -54,7 +54,7 @@
  618.  
  619.   ### Libraries
  620. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/package.mk
  621. index b450a92..339d25a 100644
  622. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/package.mk
  623. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/package.mk
  624. @@ -1,28 +1,30 @@
  625.  ################################################################################
  626. -#      This file is part of OpenELEC - http://www.openelec.tv
  627. +#      This file is part of LibreELEC - https://libreelec.tv
  628. +#      Copyright (C) 2016-present Team LibreELEC
  629.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  630.  #
  631. -#  OpenELEC is free software: you can redistribute it and/or modify
  632. +#  LibreELEC is free software: you can redistribute it and/or modify
  633.  #  it under the terms of the GNU General Public License as published by
  634.  #  the Free Software Foundation, either version 2 of the License, or
  635.  #  (at your option) any later version.
  636.  #
  637. -#  OpenELEC is distributed in the hope that it will be useful,
  638. +#  LibreELEC is distributed in the hope that it will be useful,
  639.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  640.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  641.  #  GNU General Public License for more details.
  642.  #
  643.  #  You should have received a copy of the GNU General Public License
  644. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  645. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  646.  ################################################################################
  647.  
  648.  PKG_NAME="vdr-plugin-live"
  649. -PKG_VERSION="0.3.0"
  650. +PKG_VERSION="e582514"
  651. +PKG_SHA256="74deb2ca43ffb5779b3f9ff6f34c8b53898a226fcf92605d7ede0401cb62601c"
  652.  PKG_ARCH="any"
  653.  PKG_LICENSE="GPL"
  654.  PKG_SITE="http://live.vdr-developer.org/en/index.php"
  655. -PKG_URL="http://live.vdr-developer.org/downloads/${PKG_NAME/-plugin/}-${PKG_VERSION}.tar.gz"
  656. -PKG_SOURCE_DIR="live-${PKG_VERSION}"
  657. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-live/archive/$PKG_VERSION.tar.gz"
  658. +PKG_SOURCE_DIR="$PKG_NAME-${PKG_VERSION}*"
  659.  PKG_DEPENDS_TARGET="toolchain vdr tntnet pcre:host pcre"
  660.  PKG_SECTION="multimedia"
  661.  PKG_SHORTDESC="vdr-live: the LIVE Interactive VDR Environment/"
  662. @@ -37,16 +39,17 @@ pre_configure_target() {
  663.    export LDFLAGS="$LDFLAGS -fPIC -L$SYSROOT_PREFIX/usr/lib/iconv"
  664.  }
  665.  
  666. -pre_make_target() {
  667. -  # dont build parallel
  668. -  MAKEFLAGS=-j1
  669. -}
  670. -
  671.  make_target() {
  672.    VDR_DIR=$(get_build_dir vdr)
  673. +  export CPLUS_INCLUDE_PATH=$VDR_DIR/include
  674. +  VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$//p' $VDR_DIR/config.h`
  675. +  LIB_NAME=lib${PKG_NAME/-plugin/}
  676. +
  677.    make VDRDIR=$VDR_DIR \
  678.      LIBDIR="." \
  679.      LOCALEDIR="./locale"
  680. +
  681. +  cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  682.  }
  683.  
  684.  makeinstall_target() {
  685. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-1.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-1.patch
  686. deleted file mode 100644
  687. index 35d1c5a..0000000
  688. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-1.patch
  689. +++ /dev/null
  690. @@ -1,290 +0,0 @@
  691. -commit 042724e30d5690ab67a6c04aea48a16b9a3b085b
  692. -Author: Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>
  693. -Date:   Fri May 3 01:37:41 2013 +0200
  694. -
  695. -    Make LIVE compile and work with Tntnet and cxxtools version 2.2.
  696. -    Thanks to Tommi Mäkitalo for his help on resolving the issues.
  697. -    This problem was reported by Martin Gansser and by the user 'varas' in
  698. -    the bugtracker as bug #1351. This commit fixes that bug.
  699. -
  700. -diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
  701. -index 51018bb..80f145b 100644
  702. ---- a/pages/recordings.ecpp
  703. -+++ b/pages/recordings.ecpp
  704. -@@ -205,7 +205,11 @@ for (recIter = recItems.begin(); recIter != recItems.end(); ++recIter) {
  705. -       <& rec_item_dir name=(recItem->Name()) level=(level) &>
  706. - <%cpp>
  707. - #if TNT_HAS_QUERYPARAMS
  708. -+#if TNT_QUERYPARAMS_NO_BOOL
  709. -+      tnt::QueryParams recItemParams(qparam);
  710. -+#else
  711. -       tnt::QueryParams recItemParams(qparam, false);
  712. -+#endif
  713. - #else
  714. -       cxxtools::QueryParams recItemParams(qparam, false);
  715. - #endif
  716. -diff --git a/tntconfig.cpp b/tntconfig.cpp
  717. -index 3a1fd14..3325776 100644
  718. ---- a/tntconfig.cpp
  719. -+++ b/tntconfig.cpp
  720. -@@ -3,7 +3,13 @@
  721. - #include <fstream>
  722. - #include <sstream>
  723. - #include <stdexcept>
  724. -+#include "tntfeatures.h"
  725. -+#if TNT_LOG_SERINFO
  726. -+#include <cxxtools/log.h>
  727. -+#include <cxxtools/xml/xmldeserializer.h>
  728. -+#else
  729. - #include <cxxtools/loginit.h>
  730. -+#endif
  731. - #include <tnt/sessionscope.h>
  732. - #include <tnt/httpreply.h>
  733. - #include <vdr/config.h>
  734. -@@ -181,19 +187,67 @@ namespace vdrlive {
  735. - #endif
  736. -
  737. - #if TNT_CONFIG_INTERNAL
  738. -+  namespace {
  739. -+      std::string GetResourcePath()
  740. -+      {
  741. -+#if APIVERSNUM > 10729
  742. -+          string resourceDir(Plugin::GetResourceDirectory());
  743. -+          return resourceDir;
  744. -+#else
  745. -+          string configDir(Plugin::GetConfigDirectory());
  746. -+          return configDir;
  747. -+#endif
  748. -+      }
  749. -+
  750. -+      void MapUrl(tnt::Tntnet & app, const char *rule, const char * component, std::string const & instPath, const char * pathInfo, const char * mime_type)
  751. -+      {
  752. -+#if TNT_MAPURL_NAMED_ARGS
  753. -+          tnt::Mapping::args_type argMap;
  754. -+          argMap.insert(std::make_pair("mime-type", mime_type));
  755. -+#endif
  756. -+          app.mapUrl(rule, component)
  757. -+              .setPathInfo(instPath + pathInfo)
  758. -+#if TNT_MAPURL_NAMED_ARGS
  759. -+              .setArgs(argMap);
  760. -+#else
  761. -+              .pushArg(mime_type);
  762. -+#endif
  763. -+      }
  764. -+  }
  765. -+
  766. -   void TntConfig::Configure(tnt::Tntnet& app) const
  767. -   {
  768. -       string const configDir(Plugin::GetConfigDirectory());
  769. --#if APIVERSNUM > 10729
  770. --      string const resourceDir(Plugin::GetResourceDirectory());
  771. --#endif
  772. -
  773. -+#if TNT_LOG_SERINFO
  774. -+      cxxtools::SerializationInfo si;
  775. -+      std::istringstream logXmlConf(
  776. -+          "<logging>\n"
  777. -+          "  <rootlogger>" + LiveSetup().GetTntnetLogLevel() + "</rootlogger>\n"
  778. -+          "  <loggers>\n"
  779. -+          "    <logger>\n"
  780. -+          "      <category>cxxtools</category>\n"
  781. -+          "      <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
  782. -+          "    </logger>\n"
  783. -+          "    <logger>\n"
  784. -+          "      <category>tntnet</category>\n"
  785. -+          "      <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
  786. -+          "    </logger>\n"
  787. -+          "  </loggers>\n"
  788. -+          "</logging>\n"
  789. -+          );
  790. -+      cxxtools::xml::XmlDeserializer d(logXmlConf);
  791. -+      d.deserialize(si);
  792. -+      log_init(si);
  793. -+#else
  794. -       std::istringstream logConf(
  795. -           "rootLogger=" + LiveSetup().GetTntnetLogLevel() + "\n"
  796. -           "logger.tntnet=" + LiveSetup().GetTntnetLogLevel() + "\n"
  797. -           "logger.cxxtools=" + LiveSetup().GetTntnetLogLevel() + "\n"
  798. -           );
  799. -+
  800. -       log_init(logConf);
  801. -+#endif
  802. -
  803. -       // +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++
  804. -       // ------------------------------------------------------------------------
  805. -@@ -229,13 +283,12 @@ namespace vdrlive {
  806. -
  807. -       // the following selects the theme specific 'theme.css' file
  808. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  809. --      app.mapUrl("^/themes/([^/]*)/css.*/(.+\\.css)", "content")
  810. --#if APIVERSNUM > 10729
  811. --          .setPathInfo(resourceDir + "/themes/$1/css/$2")
  812. --#else
  813. --          .setPathInfo(configDir + "/themes/$1/css/$2")
  814. --#endif
  815. --          .pushArg("text/css");
  816. -+      MapUrl(app,
  817. -+             "^/themes/([^/]*)/css.*/(.+\\.css)",
  818. -+             "content",
  819. -+             GetResourcePath(),
  820. -+             "/themes/$1/css/$2",
  821. -+             "text/css");
  822. -
  823. -       // the following rules provide a search scheme for images. The first
  824. -       // rule where a image is found, terminates the search.
  825. -@@ -243,79 +296,82 @@ namespace vdrlive {
  826. -       // 2. /img/<imgname>.<ext>
  827. -       // deprecated: 3. <imgname>.<ext> (builtin images)
  828. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  829. --      app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
  830. --#if APIVERSNUM > 10729
  831. --          .setPathInfo(resourceDir + "/themes/$1/img/$2.$3")
  832. --#else
  833. --          .setPathInfo(configDir + "/themes/$1/img/$2.$3")
  834. --#endif
  835. --          .pushArg("image/$3");
  836. --      app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
  837. --#if APIVERSNUM > 10729
  838. --          .setPathInfo(resourceDir + "/img/$2.$3")
  839. --#else
  840. --          .setPathInfo(configDir + "/img/$2.$3")
  841. --#endif
  842. --          .pushArg("image/$3");
  843. -+      MapUrl(app,
  844. -+             "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
  845. -+             "content",
  846. -+             GetResourcePath(),
  847. -+             "/themes/$1/img/$2.$3",
  848. -+             "image/$3");
  849. -+
  850. -+      MapUrl(app,
  851. -+             "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
  852. -+             "content",
  853. -+             GetResourcePath(),
  854. -+             "/img/$2.$3",
  855. -+             "image/$3");
  856. -       // deprecated: file << "MapUrl ^/themes/([^/]*)/img.*/(.+)\\.(.+) $2@" << endl;
  857. -
  858. -       // Epg images
  859. -       string const epgImgPath(LiveSetup().GetEpgImageDir());
  860. -       if (!epgImgPath.empty()) {
  861. -           // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  862. --          app.mapUrl("^/epgimages/([^/]*)\\.([^./]+)", "content")
  863. --              .setPathInfo(epgImgPath + "/$1.$2")
  864. --              .pushArg("image/$2");
  865. -+          MapUrl(app,
  866. -+                 "^/epgimages/([^/]*)\\.([^./]+)",
  867. -+                 "content",
  868. -+                 epgImgPath,
  869. -+                 "/$1.$2",
  870. -+                 "image/$2");
  871. -       }
  872. -
  873. -       // select additional (not build in) javascript.
  874. -       // WARNING: no path components with '.' in the name are allowed. Only
  875. -       // the basename may contain dots and must end with '.js'
  876. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  877. --      app.mapUrl("^/js(/[^.]*)([^/]*\\.js)", "content")
  878. --#if APIVERSNUM > 10729
  879. --          .setPathInfo(resourceDir + "/js$1$2")
  880. --#else
  881. --          .setPathInfo(configDir + "/js$1$2")
  882. --#endif
  883. --          .pushArg("text/javascript");
  884. -+      MapUrl(app,
  885. -+             "^/js(/[^.]*)([^/]*\\.js)",
  886. -+             "content",
  887. -+             GetResourcePath(),
  888. -+             "/js$1$2",
  889. -+             "text/javascript");
  890. -
  891. -       // map to 'css/basename(uri)'
  892. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  893. --      app.mapUrl("^/css.*/(.+)", "content")
  894. --#if APIVERSNUM > 10729
  895. --          .setPathInfo(resourceDir + "/css/$1")
  896. --#else
  897. --          .setPathInfo(configDir + "/css/$1")
  898. --#endif
  899. --          .pushArg("text/css");
  900. -+      MapUrl(app,
  901. -+             "^/css.*/(.+)",
  902. -+             "content",
  903. -+             GetResourcePath(),
  904. -+             "/css/$1",
  905. -+             "text/css");
  906. -
  907. -       // map to 'img/basename(uri)'
  908. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  909. --      app.mapUrl("^/img.*/(.+)\\.([^.]+)", "content")
  910. --#if APIVERSNUM > 10729
  911. --          .setPathInfo(resourceDir + "/img/$1.$2")
  912. --#else
  913. --          .setPathInfo(configDir + "/img/$1.$2")
  914. --#endif
  915. --          .pushArg("image/$2");
  916. -+      MapUrl(app,
  917. -+             "^/img.*/(.+)\\.([^.]+)",
  918. -+             "content",
  919. -+             GetResourcePath(),
  920. -+             "/img/$1.$2",
  921. -+             "image/$2");
  922. -
  923. -       // Map favicon.ico into img directory
  924. --      app.mapUrl("^/favicon.ico$", "content")
  925. --#if APIVERSNUM > 10729
  926. --          .setPathInfo(resourceDir + "/img/favicon.ico")
  927. --#else
  928. --          .setPathInfo(configDir + "/img/favicon.ico")
  929. --#endif
  930. --          .pushArg("image/x-icon");
  931. -+      MapUrl(app,
  932. -+             "^/favicon.ico$",
  933. -+             "content",
  934. -+             GetResourcePath(),
  935. -+             "/img/favicon.ico",
  936. -+             "image/x-icon");
  937. -
  938. -       // takes first path components without 'extension' when it does not
  939. -       // contain '.'
  940. -       // modified by 'tadi' -- verified with above, but not counterchecked yet!
  941. -       app.mapUrl("^/([^./]+)(.*)?", "$1");
  942. -
  943. -+#if TNT_GLOBAL_TNTCONFIG
  944. -+      tnt::TntConfig::it().sessionTimeout = 86400;
  945. -+      tnt::TntConfig::it().defaultContentType = string("text/html; charset=") + LiveI18n().CharacterEncoding();
  946. -+#else
  947. -       tnt::Sessionscope::setDefaultTimeout(86400);
  948. -       tnt::HttpReply::setDefaultContentType(string("text/html; charset=") + LiveI18n().CharacterEncoding());
  949. -+#endif
  950. -
  951. -       Setup::IpList const& ips = LiveSetup().GetServerIps();
  952. -       int port = LiveSetup().GetServerPort();
  953. -diff --git a/tntfeatures.h b/tntfeatures.h
  954. -index 6de1f88..76d3757 100644
  955. ---- a/tntfeatures.h
  956. -+++ b/tntfeatures.h
  957. -@@ -17,6 +17,9 @@
  958. - // Query params are now in tntnet and not in cxxtools
  959. - #define TNT_HAS_QUERYPARAMS       (TNTVERSION >= 16060)
  960. -
  961. -+// Query params without boolean parameter
  962. -+#define TNT_QUERYPARAMS_NO_BOOL (TNTVERSION >= 22000)
  963. -+
  964. - // One can request the host part of the request url
  965. - #define TNT_HAS_GETHOST           (TNTVERSION >= 16060)
  966. -
  967. -@@ -26,4 +29,13 @@
  968. - // version of TNTNET that binds ipv6 addresses with IPV6_V6ONLY flag set to true
  969. - #define TNT_IPV6_V6ONLY           (CXXTOOLVER >= 21000)
  970. -
  971. -+// version of TNTNET with properties deserializer for logger configuration args.
  972. -+#define TNT_LOG_SERINFO           (CXXTOOLVER >= 22000)
  973. -+
  974. -+// version of TNTNET wich expects name, value mappings for Url-Mapper arguments.
  975. -+#define TNT_MAPURL_NAMED_ARGS (TNTVERSION >= 22000)
  976. -+
  977. -+// version of TNTNET where configuration is global
  978. -+#define TNT_GLOBAL_TNTCONFIG  (TNTVERSION >= 22000)
  979. -+
  980. - #endif // VDR_LIVE_TNTFEATURES_H
  981. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-2.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-2.patch
  982. deleted file mode 100644
  983. index 3b49c6b..0000000
  984. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-2.patch
  985. +++ /dev/null
  986. @@ -1,25 +0,0 @@
  987. -commit 69f84f95fa875c6f562294b1a6a1ea6f584d3f6c
  988. -Author: Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>
  989. -Date:   Sat May 4 22:27:09 2013 +0200
  990. -
  991. -    With tntnet v2.2 use also the request.getArg(<name>) function.
  992. -    In the previous commit support for tntnet 2.2 was added. The URL
  993. -    mapping changed in that version and allows now named arguments. This
  994. -    change makes uses of this feature now.
  995. -
  996. -diff --git a/pages/content.ecpp b/pages/content.ecpp
  997. -index 27d827c..cde092f 100644
  998. ---- a/pages/content.ecpp
  999. -+++ b/pages/content.ecpp
  1000. -@@ -17,7 +17,11 @@ bool logged_in(false);
  1001. -
  1002. - string mime("image/png");
  1003. - if (request.getArgsCount() > 0) {
  1004. -+#if TNT_MAPURL_NAMED_ARGS
  1005. -+  mime = request.getArg("mime-type");
  1006. -+#else
  1007. -   mime = request.getArg(0);
  1008. -+#endif
  1009. -   // dsyslog("vdrlive::content found mime arg (%s)", mime.c_str());
  1010. - }
  1011. - reply.setContentType(mime);
  1012. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-05_vdr-2.1.2-buildfix.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-05_vdr-2.1.2-buildfix.patch
  1013. deleted file mode 100644
  1014. index dd576b9..0000000
  1015. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-05_vdr-2.1.2-buildfix.patch
  1016. +++ /dev/null
  1017. @@ -1,76 +0,0 @@
  1018. -commit 0f8a281027f852ed5968361bcb7420ed242d0476
  1019. -Author: Stefan Saraev <stefan@saraev.ca>
  1020. -Date:   Sat Oct 19 22:15:14 2013 +0300
  1021. -
  1022. -    vdr 2.1.2 buildfix
  1023. -
  1024. -diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
  1025. -index 80f145b..6da5285 100644
  1026. ---- a/pages/recordings.ecpp
  1027. -+++ b/pages/recordings.ecpp
  1028. -@@ -79,7 +79,7 @@ for (deletions_type::const_iterator it = deletions.begin(); it != deletions.end(
  1029. - deletions.clear();
  1030. -
  1031. - int FreeMB, UsedMB;
  1032. --int Percent = VideoDiskSpace(&FreeMB, &UsedMB);
  1033. -+int Percent = cVideoDirectory::VideoDiskSpace(&FreeMB, &UsedMB);
  1034. - int Minutes = int(double(FreeMB) / MB_PER_MINUTE);
  1035. - int Hours = Minutes / 60;
  1036. - Minutes %= 60;
  1037. -diff --git a/recman.cpp b/recman.cpp
  1038. -index 6a2fc00..9ed88f0 100644
  1039. ---- a/recman.cpp
  1040. -+++ b/recman.cpp
  1041. -@@ -112,7 +112,7 @@ namespace vdrlive {
  1042. -       if (found == string::npos)
  1043. -           return false;
  1044. -
  1045. --      string newname = string(VideoDirectory) + "/" + name + oldname.substr(found);
  1046. -+      string newname = string(cVideoDirectory::Name()) + "/" + name + oldname.substr(found);
  1047. -
  1048. -       if (!MoveDirectory(oldname.c_str(), newname.c_str(), copy)) {
  1049. -           esyslog("[LIVE]: renaming failed from '%s' to '%s'", oldname.c_str(), newname.c_str());
  1050. -diff --git a/tntconfig.cpp b/tntconfig.cpp
  1051. -index 3325776..161fdc4 100644
  1052. ---- a/tntconfig.cpp
  1053. -+++ b/tntconfig.cpp
  1054. -@@ -279,7 +279,7 @@ namespace vdrlive {
  1055. -       // inserted by 'tadi' -- not verified, not counterchecked yet!
  1056. -       //app.mapUrl("^/vlc/(.+)", "static@tntnet")
  1057. -       //  .setPathInfo("/$1")
  1058. --      //  .pushArg(string("DocumentRoot=") + VideoDirectory);
  1059. -+      //  .pushArg(string("DocumentRoot=") + cVideoDirectory::Name());
  1060. -
  1061. -       // the following selects the theme specific 'theme.css' file
  1062. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  1063. -diff --git a/tools.cpp b/tools.cpp
  1064. -index c744d06..cb3529e 100644
  1065. ---- a/tools.cpp
  1066. -+++ b/tools.cpp
  1067. -@@ -365,7 +365,7 @@ namespace vdrlive {
  1068. -           stat(source.c_str(), &st1);
  1069. -           stat(target.c_str(),&st2);
  1070. -           if (!copy && (st1.st_dev == st2.st_dev)) {
  1071. --              if (!RenameVideoFile(source.c_str(), target.c_str())) {
  1072. -+              if (!cVideoDirectory::RenameVideoFile(source.c_str(), target.c_str())) {
  1073. -                   esyslog("[LIVE]: rename failed from %s to %s", source.c_str(), target.c_str());
  1074. -                   return false;
  1075. -               }
  1076. -@@ -461,7 +461,7 @@ namespace vdrlive {
  1077. -                       size_t found = source.find_last_of(delim);
  1078. -                       if (found != std::string::npos) {
  1079. -                           source = source.substr(0, found);
  1080. --                          while (source != VideoDirectory) {
  1081. -+                          while (source != cVideoDirectory::Name()) {
  1082. -                               found = source.find_last_of(delim);
  1083. -                               if (found == std::string::npos)
  1084. -                                   break;
  1085. -@@ -478,7 +478,7 @@ namespace vdrlive {
  1086. -                   size_t found = target.find_last_of(delim);
  1087. -                   if (found != std::string::npos) {
  1088. -                       target = target.substr(0, found);
  1089. --                      while (target != VideoDirectory) {
  1090. -+                      while (target != cVideoDirectory::Name()) {
  1091. -                           found = target.find_last_of(delim);
  1092. -                           if (found == std::string::npos)
  1093. -                               break;
  1094. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-06_dont-build-i18n.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-06_dont-build-i18n.patch
  1095. deleted file mode 100644
  1096. index 28ef9af..0000000
  1097. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-06_dont-build-i18n.patch
  1098. +++ /dev/null
  1099. @@ -1,25 +0,0 @@
  1100. -From d95f6d719298b4586fc4b889612423be67b52e88 Mon Sep 17 00:00:00 2001
  1101. -From: Stefan Saraev <stefan@saraev.ca>
  1102. -Date: Mon, 16 Jun 2014 12:06:29 +0300
  1103. -Subject: [PATCH] dont build i18n
  1104. -
  1105. ----
  1106. - Makefile |    2 +-
  1107. - 1 files changed, 1 insertions(+), 1 deletions(-)
  1108. -
  1109. -diff --git a/Makefile b/Makefile
  1110. -index ab2f2b5..923d184 100644
  1111. ---- a/Makefile
  1112. -+++ b/Makefile
  1113. -@@ -94,7 +94,7 @@ WEBLIBS     = pages/libpages.a css/libcss.a javascript/libjavascript.a
  1114. -
  1115. - ### Default rules:
  1116. -
  1117. --all: libvdr-$(PLUGIN).so $(I18NTARG)
  1118. -+all: libvdr-$(PLUGIN).so
  1119. -
  1120. - .PHONY: all dist clean subdirs $(SUBDIRS) PAGES
  1121. -
  1122. ---
  1123. -1.7.2.5
  1124. -
  1125. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-01-makefile.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-01-makefile.patch
  1126. new file mode 100644
  1127. index 0000000..fab596f
  1128. --- /dev/null
  1129. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-01-makefile.patch
  1130. @@ -0,0 +1,36 @@
  1131. +--- a/Makefile
  1132. ++++ b/Makefile
  1133. +@@ -11,7 +11,7 @@ PLUGIN := live
  1134. + VERSION := $(shell grep '\#define LIVEVERSION ' setup.h | awk '{ print $$3 }' | sed -e 's/[";]//g')
  1135. +
  1136. + ### Check for libpcre c++ wrapper
  1137. +-HAVE_LIBPCRECPP := $(shell pcre-config --libs-cpp)
  1138. ++HAVE_LIBPCRECPP := $(shell pkg-config --libs libpcrecpp libpcre)
  1139. +
  1140. + ### The directory environment:
  1141. + # Use package data if installed...otherwise assume we're under the VDR source directory:
  1142. +@@ -37,18 +37,18 @@ APIVERSION := $(call PKGCFG,apiversion)
  1143. + include global.mk
  1144. +
  1145. + ### Determine tntnet and cxxtools versions:
  1146. +-TNTVERSION = $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1147. +-CXXTOOLVER = $(shell cxxtools-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1148. ++TNTVERSION = $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1149. ++CXXTOOLVER = $(shell pkg-config --modversion cxxtools | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1150. +
  1151. +-CXXFLAGS  += $(shell tntnet-config --cxxflags)
  1152. +-LIBS      += $(shell tntnet-config --libs)
  1153. ++CXXFLAGS  += $(shell pkg-config --cflags tntnet)
  1154. ++LIBS      += $(shell pkg-config --libs tntnet)
  1155. +
  1156. + ### Optional configuration features
  1157. + PLUGINFEATURES :=
  1158. + ifneq ($(HAVE_LIBPCRECPP),)
  1159. +   PLUGINFEATURES += -DHAVE_LIBPCRECPP
  1160. +-  CXXFLAGS       += $(shell pcre-config --cflags)
  1161. +-  LIBS           += $(HAVE_LIBPCRECPP)
  1162. ++  CXXFLAGS       += $(shell pkg-config --cflags libpcreposix libpcre)
  1163. ++  LIBS           += -Wl,-Bstatic $(HAVE_LIBPCRECPP) -Wl,-Bdynamic
  1164. + endif
  1165. +
  1166. + # -Wno-deprecated-declarations .. get rid of warning: ‘template<class> class std::auto_ptr’ is deprecated
  1167. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-03-no-i18n.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-03-no-i18n.patch
  1168. new file mode 100644
  1169. index 0000000..3d932b8
  1170. --- /dev/null
  1171. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-03-no-i18n.patch
  1172. @@ -0,0 +1,11 @@
  1173. +--- a/Makefile
  1174. ++++ b/Makefile
  1175. +@@ -98,7 +98,7 @@ SUBDIRS := $(WEB_DIR_PAGES) $(WEB_DIR_CSS) $(WEB_DIR_JAVA)
  1176. +
  1177. + ### The main target:
  1178. + .PHONY: all
  1179. +-all: lib i18n
  1180. ++all: lib
  1181. +   @true
  1182. +
  1183. + ### Implicit rules:
  1184. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-gcc6.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-gcc6.patch
  1185. deleted file mode 100644
  1186. index e265036..0000000
  1187. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-gcc6.patch
  1188. +++ /dev/null
  1189. @@ -1,43 +0,0 @@
  1190. ---- a/stdext.h.orig    2016-02-07 12:55:05.958100061 +0100
  1191. -+++ b/stdext.h 2016-02-07 12:56:49.583375455 +0100
  1192. -@@ -3,8 +3,38 @@
  1193. -
  1194. - #if __GNUC__ >= 4
  1195. -
  1196. --# include <tr1/functional>
  1197. --# include <tr1/memory>
  1198. -+#if __GNUC__ >= 6
  1199. -+
  1200. -+#include <memory>
  1201. -+#include <functional>
  1202. -+
  1203. -+namespace std {
  1204. -+namespace tr1 {
  1205. -+
  1206. -+       using std::bind;
  1207. -+       using std::shared_ptr;
  1208. -+       using std::weak_ptr;
  1209. -+
  1210. -+       namespace placeholders {
  1211. -+               using std::placeholders::_1;
  1212. -+               using std::placeholders::_2;
  1213. -+               using std::placeholders::_3;
  1214. -+               using std::placeholders::_4;
  1215. -+               using std::placeholders::_5;
  1216. -+               using std::placeholders::_6;
  1217. -+               using std::placeholders::_7;
  1218. -+               using std::placeholders::_8;
  1219. -+               using std::placeholders::_9;
  1220. -+       }
  1221. -+} // namespace tr1
  1222. -+} // namespace std
  1223. -+
  1224. -+#else
  1225. -+
  1226. -+ #      include <tr1/functional>
  1227. -+ #      include <tr1/memory>
  1228. -+
  1229. -+# endif
  1230. -
  1231. - #else
  1232. -
  1233. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-pkgconfig.patch
  1234. deleted file mode 100644
  1235. index 8f159d5..0000000
  1236. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-pkgconfig.patch
  1237. +++ /dev/null
  1238. @@ -1,86 +0,0 @@
  1239. -diff -Naur live-0.3.0/css/Makefile live-0.3.0.patch/css/Makefile
  1240. ---- live-0.3.0/css/Makefile    2013-04-04 22:16:40.000000000 +0200
  1241. -+++ live-0.3.0.patch/css/Makefile  2016-01-07 06:49:35.954078949 +0100
  1242. -@@ -4,7 +4,7 @@
  1243. -
  1244. - ### Additional options to silence TNTNET warnings
  1245. - TNTFLAGS   ?= -Wno-overloaded-virtual -Wno-unused-function
  1246. --TNTVERSION ?= $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1247. -+TNTVERSION ?= $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1248. -
  1249. - ### The C++ compiler and options:
  1250. -
  1251. -diff -Naur live-0.3.0/httpd/Makefile live-0.3.0.patch/httpd/Makefile
  1252. ---- live-0.3.0/httpd/Makefile  2013-04-04 22:16:40.000000000 +0200
  1253. -+++ live-0.3.0.patch/httpd/Makefile    2016-01-07 06:51:05.349223371 +0100
  1254. -@@ -3,7 +3,7 @@
  1255. -
  1256. - CXXFLAGS ?= -O2 -Woverloaded-virtual -Wall -fPIC
  1257. -
  1258. --CXXFLAGS += `tntnet-config --cxxflags`
  1259. -+CXXFLAGS += `pkg-config --cflags tntnet`
  1260. -
  1261. - ### Includes and Defines (add further entries here):
  1262. -
  1263. -diff -Naur live-0.3.0/javascript/Makefile live-0.3.0.patch/javascript/Makefile
  1264. ---- live-0.3.0/javascript/Makefile 2013-04-04 22:16:40.000000000 +0200
  1265. -+++ live-0.3.0.patch/javascript/Makefile   2016-01-07 06:49:51.561104158 +0100
  1266. -@@ -4,7 +4,7 @@
  1267. -
  1268. - ### Additional options to silence TNTNET warnings
  1269. - TNTFLAGS   ?= -Wno-overloaded-virtual -Wno-unused-function
  1270. --TNTVERSION ?= $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1271. -+TNTVERSION ?= $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1272. -
  1273. - ### The C++ compiler and options:
  1274. -
  1275. -diff -Naur live-0.3.0/Makefile live-0.3.0.patch/Makefile
  1276. ---- live-0.3.0/Makefile    2013-04-04 22:16:40.000000000 +0200
  1277. -+++ live-0.3.0.patch/Makefile  2016-01-07 06:48:29.683971910 +0100
  1278. -@@ -26,7 +26,7 @@
  1279. - LDFLAGS    ?= -fPIC -g
  1280. -
  1281. - ### Check for libpcre c++ wrapper
  1282. --HAVE_LIBPCRECPP = $(shell pcre-config --libs-cpp)
  1283. -+HAVE_LIBPCRECPP = $(shell pkg-config --libs libpcrecpp libpcre)
  1284. -
  1285. - ### The directory environment:
  1286. -
  1287. -@@ -46,18 +46,18 @@
  1288. -
  1289. - APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$//p' $(VDRDIR)/config.h)
  1290. - I18NTARG   = $(shell if [ `echo $(APIVERSION) | tr [.] [0]` -ge "10507" ]; then echo "i18n"; fi)
  1291. --TNTVERSION = $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1292. --CXXTOOLVER = $(shell cxxtools-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1293. -+TNTVERSION = $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1294. -+CXXTOOLVER = $(shell pkg-config --modversion cxxtools | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1295. - TNTVERS7   = $(shell ver=$(TNTVERSION); if [ $$ver -ge "1606" ]; then echo "yes"; fi)
  1296. -
  1297. --CXXFLAGS  += $(shell tntnet-config --cxxflags)
  1298. --LIBS      += $(shell tntnet-config --libs)
  1299. -+CXXFLAGS  += $(shell pkg-config --cflags tntnet)
  1300. -+LIBS      += $(shell pkg-config --libs tntnet)
  1301. -
  1302. - ### Optional configuration features
  1303. - PLUGINFEATURES =
  1304. - ifneq ($(HAVE_LIBPCRECPP),)
  1305. -   PLUGINFEATURES += -DHAVE_LIBPCRECPP
  1306. --  CXXFLAGS       += $(shell pcre-config --cflags)
  1307. -+  CXXFLAGS       += $(shell pkg-config --cflags libpcreposix libpcre)
  1308. -   LIBS           += $(HAVE_LIBPCRECPP)
  1309. - endif
  1310. -
  1311. -diff -Naur live-0.3.0/pages/Makefile live-0.3.0.patch/pages/Makefile
  1312. ---- live-0.3.0/pages/Makefile  2013-04-04 22:16:40.000000000 +0200
  1313. -+++ live-0.3.0.patch/pages/Makefile    2016-01-07 06:50:04.234124627 +0100
  1314. -@@ -4,8 +4,8 @@
  1315. -
  1316. - ### Additional options to silence TNTNET warnings
  1317. - TNTFLAGS   ?= -Wno-overloaded-virtual -Wno-unused-variable
  1318. --TNTVERSION ?= $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1319. --CXXTOOLVER ?= $(shell cxxtools-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1320. -+TNTVERSION ?= $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1321. -+CXXTOOLVER ?= $(shell pkg-config --modversion cxxtools | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1322. -
  1323. - ### The C++ compiler and options:
  1324. -
  1325. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/package.mk
  1326. index 71af66d..e882064 100644
  1327. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/package.mk
  1328. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/package.mk
  1329. @@ -1,23 +1,25 @@
  1330.  ################################################################################
  1331. -#      This file is part of OpenELEC - http://www.openelec.tv
  1332. +#      This file is part of LibreELEC - https://libreelec.tv
  1333. +#      Copyright (C) 2016-present Team LibreELEC
  1334.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1335.  #
  1336. -#  OpenELEC is free software: you can redistribute it and/or modify
  1337. +#  LibreELEC is free software: you can redistribute it and/or modify
  1338.  #  it under the terms of the GNU General Public License as published by
  1339.  #  the Free Software Foundation, either version 2 of the License, or
  1340.  #  (at your option) any later version.
  1341.  #
  1342. -#  OpenELEC is distributed in the hope that it will be useful,
  1343. +#  LibreELEC is distributed in the hope that it will be useful,
  1344.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1345.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1346.  #  GNU General Public License for more details.
  1347.  #
  1348.  #  You should have received a copy of the GNU General Public License
  1349. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1350. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1351.  ################################################################################
  1352.  
  1353.  PKG_NAME="vdr-plugin-restfulapi"
  1354.  PKG_VERSION="0.2.6.5"
  1355. +PKG_SHA256="116f2ec08eb8d228ef5da64fe4039f2c00ae4d76388f0f34ab329c866d928e1f"
  1356.  PKG_ARCH="any"
  1357.  PKG_LICENSE="GPL"
  1358.  PKG_SITE="https://github.com/yavdr/vdr-plugin-restfulapi"
  1359. @@ -30,11 +32,6 @@ PKG_LONGDESC="vdr-plugin-restfulapi allows to access many internals of the VDR v
  1360.  PKG_IS_ADDON="no"
  1361.  PKG_AUTORECONF="no"
  1362.  
  1363. -pre_make_target() {
  1364. -  # dont build parallel
  1365. -  MAKEFLAGS=-j1
  1366. -}
  1367. -
  1368.  make_target() {
  1369.    VDR_DIR=$(get_build_dir vdr)
  1370.    export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
  1371. @@ -53,7 +50,6 @@ post_make_target() {
  1372.    LIB_NAME=lib${PKG_NAME/-plugin/}
  1373.  
  1374.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  1375. -  $STRIP libvdr-*.so*
  1376.  }
  1377.  
  1378.  makeinstall_target() {
  1379. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-01-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-01-pkgconfig.patch
  1380. new file mode 100644
  1381. index 0000000..cb1d60d
  1382. --- /dev/null
  1383. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-01-pkgconfig.patch
  1384. @@ -0,0 +1,11 @@
  1385. +--- a/Makefile
  1386. ++++ b/Makefile
  1387. +@@ -51,7 +51,7 @@ SOFILE = libvdr-$(PLUGIN).so
  1388. +
  1389. + DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
  1390. +
  1391. +-LIBS    += $(shell cxxtools-config --libs) -lcxxtools-http
  1392. ++LIBS    += $(shell pkg-config --libs cxxtools-http cxxtools)
  1393. + CONFDIR  = $(call PKGCFG,configdir)
  1394. + PLGCONFDIR = $(CONFDIR)/plugins/$(PLUGIN)
  1395. +
  1396. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-02-webapp-path.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-02-webapp-path.patch
  1397. new file mode 100644
  1398. index 0000000..c648449
  1399. --- /dev/null
  1400. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-02-webapp-path.patch
  1401. @@ -0,0 +1,11 @@
  1402. +--- a/tools.cpp
  1403. ++++ b/tools.cpp
  1404. +@@ -214,7 +214,7 @@ void Settings::initDefault()
  1405. +   SetIp((string)"0.0.0.0");
  1406. +   SetEpgImageDirectory((string)"/var/cache/vdr/epgimages");
  1407. +   SetChannelLogoDirectory((string)"/usr/share/vdr/channel-logos");
  1408. +-  SetWebappDirectory((string)"/var/lib/vdr/plugins/restfulapi/webapp");
  1409. ++  SetWebappDirectory((string)"/storage/.kodi/addons/service.multimedia.vdr-addon/res/plugins/restfulapi");
  1410. +   SetHeaders((string)"true");
  1411. +   webapp_filetypes_filename = "webapp_file_types.conf";
  1412. + }
  1413. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-pkgconfig.patch
  1414. deleted file mode 100644
  1415. index c0c9cf8..0000000
  1416. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-pkgconfig.patch
  1417. +++ /dev/null
  1418. @@ -1,12 +0,0 @@
  1419. -diff -Naur vdr-plugin-restfulapi-0.2.1.4/Makefile vdr-plugin-restfulapi-0.2.1.4.patch/Makefile
  1420. ---- vdr-plugin-restfulapi-0.2.1.4/Makefile 2015-03-18 23:12:01.000000000 +0100
  1421. -+++ vdr-plugin-restfulapi-0.2.1.4.patch/Makefile   2016-01-07 05:24:24.036888492 +0100
  1422. -@@ -49,7 +49,7 @@
  1423. -
  1424. - DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
  1425. -
  1426. --LIBS    += $(shell cxxtools-config --libs) -lcxxtools-http
  1427. -+LIBS += $(shell pkg-config --libs cxxtools-http cxxtools)
  1428. - CONFDIR  = $(call PKGCFG,configdir)
  1429. - PLGCONFDIR = $(CONFDIR)/plugins/$(PLUGIN)
  1430. -
  1431. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-robotv/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-robotv/package.mk
  1432. new file mode 100644
  1433. index 0000000..92b0892
  1434. --- /dev/null
  1435. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-robotv/package.mk
  1436. @@ -0,0 +1,51 @@
  1437. +################################################################################
  1438. +#      This file is part of LibreELEC - https://libreelec.tv
  1439. +#      Copyright (C) 2017-present Team LibreELEC
  1440. +#
  1441. +#  LibreELEC is free software: you can redistribute it and/or modify
  1442. +#  it under the terms of the GNU General Public License as published by
  1443. +#  the Free Software Foundation, either version 2 of the License, or
  1444. +#  (at your option) any later version.
  1445. +#
  1446. +#  LibreELEC is distributed in the hope that it will be useful,
  1447. +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1448. +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1449. +#  GNU General Public License for more details.
  1450. +#
  1451. +#  You should have received a copy of the GNU General Public License
  1452. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1453. +################################################################################
  1454. +
  1455. +PKG_NAME="vdr-plugin-robotv"
  1456. +PKG_VERSION="50d4bdc"
  1457. +PKG_SHA256="062489e55111f0ba2420463cc506865ac59b1c1d080b318cb81d58ec3f4fbd3f"
  1458. +PKG_ARCH="any"
  1459. +PKG_LICENSE="GPL"
  1460. +PKG_SITE="https://github.com/pipelka/roboTV"
  1461. +PKG_URL="https://github.com/pipelka/vdr-plugin-robotv/archive/$PKG_VERSION.tar.gz"
  1462. +PKG_DEPENDS_TARGET="toolchain vdr avahi"
  1463. +PKG_SECTION="multimedia"
  1464. +PKG_SHORTDESC="VDR server plugin for roboTV"
  1465. +PKG_LONGDESC="RoboTV is a Android TV based frontend for VDR"
  1466. +
  1467. +PKG_IS_ADDON="no"
  1468. +PKG_AUTORECONF="no"
  1469. +
  1470. +pre_configure_target() {
  1471. +  VDR_DIR=$(get_build_dir vdr)
  1472. +  export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
  1473. +  export CPLUS_INCLUDE_PATH=$VDR_DIR/include
  1474. +  export VDRDIR=$VDR_DIR
  1475. +}
  1476. +
  1477. +post_make_target() {
  1478. +  VDR_DIR=$(get_build_dir vdr)
  1479. +  VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$//p' $VDR_DIR/config.h`
  1480. +  LIB_NAME=lib${PKG_NAME/-plugin/}
  1481. +
  1482. +  cp --remove-destination $PKG_BUILD/.$TARGET_NAME/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  1483. +}
  1484. +
  1485. +makeinstall_target() {
  1486. +  : # installation not needed, done by create-addon script
  1487. +}
  1488. 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
  1489. index cef310c..29d6d80 100644
  1490. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk
  1491. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk
  1492. @@ -1,23 +1,25 @@
  1493.  ################################################################################
  1494. -#      This file is part of OpenELEC - http://www.openelec.tv
  1495. +#      This file is part of LibreELEC - https://libreelec.tv
  1496. +#      Copyright (C) 2016-present Team LibreELEC
  1497.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1498.  #
  1499. -#  OpenELEC is free software: you can redistribute it and/or modify
  1500. +#  LibreELEC is free software: you can redistribute it and/or modify
  1501.  #  it under the terms of the GNU General Public License as published by
  1502.  #  the Free Software Foundation, either version 2 of the License, or
  1503.  #  (at your option) any later version.
  1504.  #
  1505. -#  OpenELEC is distributed in the hope that it will be useful,
  1506. +#  LibreELEC is distributed in the hope that it will be useful,
  1507.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1508.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1509.  #  GNU General Public License for more details.
  1510.  #
  1511.  #  You should have received a copy of the GNU General Public License
  1512. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1513. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1514.  ################################################################################
  1515.  
  1516.  PKG_NAME="vdr-plugin-satip"
  1517. -PKG_VERSION="ed99cfb"
  1518. +PKG_VERSION="0a15717"
  1519. +PKG_SHA256="22f0bc5bc10b67f972464cf5dd5ac43c036a9bf8926adc7408f216e40a6a3f57"
  1520.  PKG_ARCH="any"
  1521.  PKG_LICENSE="GPL"
  1522.  PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/satip/"
  1523. @@ -48,7 +50,6 @@ post_make_target() {
  1524.    LIB_NAME=lib${PKG_NAME/-plugin/}
  1525.  
  1526.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  1527. -  $STRIP libvdr-*.so*
  1528.  }
  1529.  
  1530.  makeinstall_target() {
  1531. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/patches/vdr-plugin-satip-01-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/patches/vdr-plugin-satip-01-pkgconfig.patch
  1532. index c7d7f4a..e0c19f3 100644
  1533. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/patches/vdr-plugin-satip-01-pkgconfig.patch
  1534. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/patches/vdr-plugin-satip-01-pkgconfig.patch
  1535. @@ -1,6 +1,5 @@
  1536. -diff -Naur satip-2.2.2/Makefile satip-2.2.2.patch/Makefile
  1537. ---- satip-2.2.2/Makefile   2015-04-26 03:20:00.000000000 +0200
  1538. -+++ satip-2.2.2.patch/Makefile 2016-01-07 07:33:20.588462880 +0100
  1539. +--- a/Makefile
  1540. ++++ b/Makefile
  1541.  @@ -53,7 +53,7 @@
  1542.  
  1543.   ### Libraries
  1544. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/package.mk
  1545. index d8080f4..669507e 100644
  1546. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/package.mk
  1547. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/package.mk
  1548. @@ -1,34 +1,35 @@
  1549.  ################################################################################
  1550. -#      This file is part of OpenELEC - http://www.openelec.tv
  1551. +#      This file is part of LibreELEC - https://libreelec.tv
  1552. +#      Copyright (C) 2016-present Team LibreELEC
  1553.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1554.  #
  1555. -#  OpenELEC is free software: you can redistribute it and/or modify
  1556. +#  LibreELEC is free software: you can redistribute it and/or modify
  1557.  #  it under the terms of the GNU General Public License as published by
  1558.  #  the Free Software Foundation, either version 2 of the License, or
  1559.  #  (at your option) any later version.
  1560.  #
  1561. -#  OpenELEC is distributed in the hope that it will be useful,
  1562. +#  LibreELEC is distributed in the hope that it will be useful,
  1563.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1564.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1565.  #  GNU General Public License for more details.
  1566.  #
  1567.  #  You should have received a copy of the GNU General Public License
  1568. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1569. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1570.  ################################################################################
  1571.  
  1572.  PKG_NAME="vdr-plugin-streamdev"
  1573. -PKG_VERSION="fc52e92"
  1574. +PKG_VERSION="e2a9b97"
  1575. +PKG_SHA256="adcc08ac19cf98122576bedf63be3396d8b81ee4196c00df0e25c9fb8b7e11b8"
  1576.  PKG_ARCH="any"
  1577.  PKG_LICENSE="GPL"
  1578.  PKG_SITE="http://projects.vdr-developer.org/projects/plg-streamdev"
  1579. -PKG_URL="https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
  1580. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-streamdev/archive/$PKG_VERSION.tar.gz"
  1581.  PKG_DEPENDS_TARGET="toolchain vdr openssl"
  1582.  PKG_SECTION="multimedia"
  1583. -PKG_SHORTDESC="TV"
  1584. -PKG_LONGDESC="TV"
  1585. +PKG_SHORTDESC="This PlugIn is a VDR implementation of Video Transfer and a basic HTTP Streaming Protocol."
  1586. +PKG_LONGDESC="This PlugIn is a VDR implementation of Video Transfer and a basic HTTP Streaming Protocol."
  1587.  
  1588.  PKG_IS_ADDON="no"
  1589. -
  1590.  PKG_AUTORECONF="no"
  1591.  
  1592.  make_target() {
  1593. @@ -48,12 +49,8 @@ post_make_target() {
  1594.    LIB_NAME=lib${PKG_NAME/-plugin/}
  1595.    cp --remove-destination $PKG_BUILD/server/${LIB_NAME}-server.so $PKG_BUILD/server/${LIB_NAME}-server.so.${VDR_APIVERSION}
  1596.    cp --remove-destination $PKG_BUILD/client/${LIB_NAME}-client.so $PKG_BUILD/client/${LIB_NAME}-client.so.${VDR_APIVERSION}
  1597. -
  1598. -  $STRIP client/libvdr-*.so*
  1599. -  $STRIP server/libvdr-*.so*
  1600.  }
  1601.  
  1602.  makeinstall_target() {
  1603.    : # installation not needed, done by create-addon script
  1604.  }
  1605. -
  1606. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/patches/vdr-plugin-streamdev-01_4k_hevc_support.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/patches/vdr-plugin-streamdev-01_4k_hevc_support.patch
  1607. index dcd664c..45b9782 100644
  1608. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/patches/vdr-plugin-streamdev-01_4k_hevc_support.patch
  1609. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/patches/vdr-plugin-streamdev-01_4k_hevc_support.patch
  1610. @@ -1,8 +1,7 @@
  1611.  http://www.vdr-portal.de/board17-developer/board97-vdr-core/p1272182-rfc-h-265-frame-parser/#post1272182
  1612.  
  1613. -diff -ur streamdev-160321-1/server/livestreamer.c streamdev-160321/server/livestreamer.c
  1614. ---- streamdev-160321-1/server/livestreamer.c   2016-03-21 11:41:52.000000000 +0100
  1615. -+++ streamdev-160321/server/livestreamer.c 2016-05-03 13:54:07.000000000 +0200
  1616. +--- a/server/livestreamer.c
  1617. ++++ b/server/livestreamer.c
  1618.  @@ -143,6 +143,8 @@
  1619.     "ISO/IEC 14496-3 Audio with LATM transport syntax",
  1620.     "0x12", "0x13", "0x14", "0x15", "0x16", "0x17", "0x18", "0x19", "0x1a",
  1621. 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
  1622. index 069ef54..202dbf0 100644
  1623. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk
  1624. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk
  1625. @@ -1,31 +1,33 @@
  1626.  ################################################################################
  1627. -#      This file is part of OpenELEC - http://www.openelec.tv
  1628. +#      This file is part of LibreELEC - https://libreelec.tv
  1629. +#      Copyright (C) 2016-present Team LibreELEC
  1630.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1631.  #
  1632. -#  OpenELEC is free software: you can redistribute it and/or modify
  1633. +#  LibreELEC is free software: you can redistribute it and/or modify
  1634.  #  it under the terms of the GNU General Public License as published by
  1635.  #  the Free Software Foundation, either version 2 of the License, or
  1636.  #  (at your option) any later version.
  1637.  #
  1638. -#  OpenELEC is distributed in the hope that it will be useful,
  1639. +#  LibreELEC is distributed in the hope that it will be useful,
  1640.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1641.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1642.  #  GNU General Public License for more details.
  1643.  #
  1644.  #  You should have received a copy of the GNU General Public License
  1645. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1646. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1647.  ################################################################################
  1648.  
  1649.  PKG_NAME="vdr-plugin-vnsiserver"
  1650. -PKG_VERSION="615a077"
  1651. +PKG_VERSION="31c8f71"
  1652. +PKG_SHA256="0ee419f6821c2cfb0a605a9afadaf2e1ae2a69f49d651a7aab4ea7008e913f11"
  1653.  PKG_ARCH="any"
  1654.  PKG_LICENSE="GPL"
  1655.  PKG_SITE="https://github.com/FernetMenta/vdr-plugin-vnsiserver"
  1656.  PKG_URL="https://github.com/FernetMenta/vdr-plugin-vnsiserver/archive/$PKG_VERSION.tar.gz"
  1657.  PKG_DEPENDS_TARGET="toolchain vdr"
  1658.  PKG_SECTION="multimedia"
  1659. -PKG_SHORTDESC="TV"
  1660. -PKG_LONGDESC="TV"
  1661. +PKG_SHORTDESC="VDR plugin to handle Kodi clients."
  1662. +PKG_LONGDESC="VDR plugin to handle Kodi clients."
  1663.  
  1664.  PKG_IS_ADDON="no"
  1665.  PKG_AUTORECONF="no"
  1666. @@ -47,7 +49,6 @@ post_make_target() {
  1667.    LIB_NAME=lib${PKG_NAME/-plugin/}
  1668.  
  1669.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  1670. -  $STRIP libvdr-*.so*
  1671.  }
  1672.  
  1673.  makeinstall_target() {
  1674. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/package.mk
  1675. index 65353af..71a5bee 100644
  1676. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/package.mk
  1677. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/package.mk
  1678. @@ -1,32 +1,34 @@
  1679.  ################################################################################
  1680. -#      This file is part of OpenELEC - http://www.openelec.tv
  1681. +#      This file is part of LibreELEC - https://libreelec.tv
  1682. +#      Copyright (C) 2016-present Team LibreELEC
  1683.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1684.  #
  1685. -#  OpenELEC is free software: you can redistribute it and/or modify
  1686. +#  LibreELEC is free software: you can redistribute it and/or modify
  1687.  #  it under the terms of the GNU General Public License as published by
  1688.  #  the Free Software Foundation, either version 2 of the License, or
  1689.  #  (at your option) any later version.
  1690.  #
  1691. -#  OpenELEC is distributed in the hope that it will be useful,
  1692. +#  LibreELEC is distributed in the hope that it will be useful,
  1693.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1694.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1695.  #  GNU General Public License for more details.
  1696.  #
  1697.  #  You should have received a copy of the GNU General Public License
  1698. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1699. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1700.  ################################################################################
  1701.  
  1702.  PKG_NAME="vdr-plugin-wirbelscan"
  1703. -PKG_VERSION="0.0.9"
  1704. +PKG_VERSION="2017.06.04"
  1705. +PKG_SHA256="c7a792c794fb98dd7f665e1be2271f4a1a957a26c017043fcd4dd8d8b7fd582b"
  1706.  PKG_ARCH="any"
  1707.  PKG_LICENSE="GPL"
  1708.  PKG_SITE="http://wirbel.htpc-forum.de/wirbelscan/index2.html"
  1709. -PKG_URL="http://wirbel.htpc-forum.de/wirbelscan/${PKG_NAME/-plugin/}-$PKG_VERSION.tgz"
  1710. +PKG_URL="http://wirbel.htpc-forum.de/wirbelscan/${PKG_NAME/-plugin/}-dev-$PKG_VERSION.tgz"
  1711.  PKG_SOURCE_DIR="wirbelscan-${PKG_VERSION}"
  1712.  PKG_DEPENDS_TARGET="toolchain vdr"
  1713.  PKG_SECTION="multimedia"
  1714. -PKG_SHORTDESC="TV"
  1715. -PKG_LONGDESC="TV"
  1716. +PKG_SHORTDESC="Performs a channel scans for DVB-T, DVB-C and DVB-S"
  1717. +PKG_LONGDESC="Performs a channel scans for DVB-T, DVB-C and DVB-S"
  1718.  
  1719.  PKG_IS_ADDON="no"
  1720.  PKG_AUTORECONF="no"
  1721. @@ -39,6 +41,7 @@ pre_configure_target() {
  1722.  
  1723.  make_target() {
  1724.    VDR_DIR=$(get_build_dir vdr)
  1725. +  cp backup/Makefile.old Makefile
  1726.    make VDRDIR=$VDR_DIR \
  1727.      LIBDIR="." \
  1728.      LOCALEDIR="./locale"
  1729. @@ -47,4 +50,3 @@ make_target() {
  1730.  makeinstall_target() {
  1731.    : # installation not needed, done by create-addon script
  1732.  }
  1733. -
  1734. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-01_fix-dvbs-scan.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-01_fix-dvbs-scan.patch
  1735. deleted file mode 100644
  1736. index 3e978b0..0000000
  1737. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-01_fix-dvbs-scan.patch
  1738. +++ /dev/null
  1739. @@ -1,26 +0,0 @@
  1740. -From 2b6a0e4b41a082655516c3a276a4d74e7a61cd90 Mon Sep 17 00:00:00 2001
  1741. -From: Stefan Saraev <stefan@saraev.ca>
  1742. -Date: Mon, 2 Feb 2015 13:22:36 +0200
  1743. -Subject: [PATCH] fix dvbs scan
  1744. -
  1745. -using first channel freq from satellites.dat is not good.
  1746. ----
  1747. - scanner.c |    2 +-
  1748. - 1 file changed, 1 insertion(+), 1 deletion(-)
  1749. -
  1750. -diff --git a/scanner.c b/scanner.c
  1751. -index 0c29ac2..25d6f8a 100644
  1752. ---- a/scanner.c
  1753. -+++ b/scanner.c
  1754. -@@ -738,7 +738,7 @@ void cScanner::Action(void) {
  1755. -                break;
  1756. -              case SCAN_SATELLITE:
  1757. -                aChannel->SetTransponderData(cSource::FromString(sat_list[this_channellist].source_id),
  1758. --                                          sat_list[this_channellist].items[0].intermediate_frequency,
  1759. -+                                          sat_list[this_channellist].items[channel].intermediate_frequency,
  1760. -                                           sat_list[this_channellist].items[channel].symbol_rate,
  1761. -                                           *ParamsToString('S',
  1762. -                                           GetVDRPolarizationFromDVB(sat_list[this_channellist].items[0].polarization),
  1763. ---
  1764. -1.7.10.4
  1765. -
  1766. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-02_fix-wirbelscancontrol.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-02_fix-wirbelscancontrol.patch
  1767. deleted file mode 100644
  1768. index e02eb7a..0000000
  1769. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-02_fix-wirbelscancontrol.patch
  1770. +++ /dev/null
  1771. @@ -1,61 +0,0 @@
  1772. -From 4708fdeab67cae81ee7211a306c6adf0bed24d3c Mon Sep 17 00:00:00 2001
  1773. -From: Stefan Saraev <stefan@saraev.ca>
  1774. -Date: Tue, 3 Feb 2015 18:19:17 +0200
  1775. -Subject: [PATCH] fix wirbelscancontrol
  1776. -
  1777. ----
  1778. - common.c            |    2 +-
  1779. - extended_frontend.h |    7 +++----
  1780. - menusetup.c         |    2 +-
  1781. - 3 files changed, 5 insertions(+), 6 deletions(-)
  1782. -
  1783. -diff --git a/common.c b/common.c
  1784. -index 04a1e6e..40194d2 100644
  1785. ---- a/common.c
  1786. -+++ b/common.c
  1787. -@@ -54,7 +54,7 @@ void cMySetup::InitSystems(void) {
  1788. -      }
  1789. -
  1790. -   if (DVB_Type >= SCAN_NO_DEVICE || ! systems[DVB_Type]) {
  1791. --     for (DVB_Type = scantype_t(SCAN_UNDEFINED + 1); DVB_Type < SCAN_NO_DEVICE; DVB_Type = scantype_t(DVB_Type + 1)) {
  1792. -+     for (DVB_Type = scantype_t(SCAN_TERRESTRIAL); DVB_Type < SCAN_NO_DEVICE; DVB_Type = scantype_t(DVB_Type + 1)) {
  1793. -          if (systems[DVB_Type])
  1794. -             break;
  1795. -          }
  1796. -diff --git a/extended_frontend.h b/extended_frontend.h
  1797. -index 680594e..bcdb11f 100644
  1798. ---- a/extended_frontend.h
  1799. -+++ b/extended_frontend.h
  1800. -@@ -152,13 +152,12 @@ typedef enum {
  1801. -  * 20120107 wirbel
  1802. -  */
  1803. - typedef enum {
  1804. --        SCAN_UNDEFINED,
  1805. --        SCAN_SATELLITE,
  1806. --        SCAN_CABLE,
  1807. -         SCAN_TERRESTRIAL,
  1808. --        SCAN_TERRCABLE_ATSC,   /* I dislike this mixture of terr and cable. fix later, as it leads to problems now. */
  1809. -+        SCAN_CABLE,
  1810. -+        SCAN_SATELLITE,
  1811. -         SCAN_PVRINPUT,
  1812. -         SCAN_PVRINPUT_FM,
  1813. -+        SCAN_TERRCABLE_ATSC,   /* I dislike this mixture of terr and cable. fix later, as it leads to problems now. */
  1814. -         SCAN_NO_DEVICE,
  1815. -         SCAN_TRANSPONDER=999
  1816. - } scantype_t;
  1817. -diff --git a/menusetup.c b/menusetup.c
  1818. -index daeccb1..46087be 100644
  1819. ---- a/menusetup.c
  1820. -+++ b/menusetup.c
  1821. -@@ -22,7 +22,7 @@
  1822. - using namespace COUNTRY;
  1823. -
  1824. - static const char * ScannerDesc   = "wirbelscan scan thread";
  1825. --static const char * DVB_Types[]  = {"NOTHING","DVB-S/S2","DVB-C","DVB-T/T2","ATSC","pvrinput","pvrinput FM", "no device found"};
  1826. -+static const char * DVB_Types[]  = {"DVB-T/T2", "DVB-C", "DVB-S/S2", "pvrinput", "pvrinput FM", "ATSC", "no device found"};
  1827. -
  1828. - cMenuScanning * MenuScanning    = NULL;   // pointer to actual menu
  1829. - cScanner      * Scanner         = NULL;
  1830. ---
  1831. -1.7.10.4
  1832. -
  1833. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/package.mk
  1834. index 6821c22..de7432b 100644
  1835. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/package.mk
  1836. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/package.mk
  1837. @@ -1,23 +1,25 @@
  1838.  ################################################################################
  1839. -#      This file is part of OpenELEC - http://www.openelec.tv
  1840. +#      This file is part of LibreELEC - https://libreelec.tv
  1841. +#      Copyright (C) 2016-present Team LibreELEC
  1842.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1843.  #
  1844. -#  OpenELEC is free software: you can redistribute it and/or modify
  1845. +#  LibreELEC is free software: you can redistribute it and/or modify
  1846.  #  it under the terms of the GNU General Public License as published by
  1847.  #  the Free Software Foundation, either version 2 of the License, or
  1848.  #  (at your option) any later version.
  1849.  #
  1850. -#  OpenELEC is distributed in the hope that it will be useful,
  1851. +#  LibreELEC is distributed in the hope that it will be useful,
  1852.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1853.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1854.  #  GNU General Public License for more details.
  1855.  #
  1856.  #  You should have received a copy of the GNU General Public License
  1857. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1858. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1859.  ################################################################################
  1860.  
  1861.  PKG_NAME="vdr-plugin-wirbelscancontrol"
  1862.  PKG_VERSION="0.0.2"
  1863. +PKG_SHA256="178c5768dd47355a42409a2cb2629f0762da1297865e3a84963684649145cb13"
  1864.  PKG_ARCH="any"
  1865.  PKG_LICENSE="GPL"
  1866.  PKG_SITE="http://wirbel.htpc-forum.de/wirbelscancontrol/index2.html"
  1867. @@ -25,11 +27,10 @@ PKG_URL="http://wirbel.htpc-forum.de/wirbelscancontrol/${PKG_NAME/-plugin/}-$PKG
  1868.  PKG_SOURCE_DIR="wirbelscancontrol-${PKG_VERSION}"
  1869.  PKG_DEPENDS_TARGET="toolchain vdr vdr-plugin-wirbelscan"
  1870.  PKG_SECTION="multimedia"
  1871. -PKG_SHORTDESC="TV"
  1872. -PKG_LONGDESC="TV"
  1873. +PKG_SHORTDESC="Adds menu entry for wirbelscan at VDR."
  1874. +PKG_LONGDESC="Adds menu entry for wirbelscan at VDR."
  1875.  
  1876.  PKG_IS_ADDON="no"
  1877. -
  1878.  PKG_AUTORECONF="no"
  1879.  
  1880.  pre_configure_target() {
  1881. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-01-dont-build-i18n.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-01-dont-build-i18n.patch
  1882. index 09c1a7a..e457bbb 100644
  1883. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-01-dont-build-i18n.patch
  1884. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-01-dont-build-i18n.patch
  1885. @@ -1,14 +1,6 @@
  1886. -From 60bb89fa8f5d29e72e06c68c0b48a374ac95d522 Mon Sep 17 00:00:00 2001
  1887.  From: Stefan Saraev <stefan@saraev.ca>
  1888. -Date: Mon, 9 Jun 2014 22:04:41 +0300
  1889.  Subject: [PATCH] dont build i18n
  1890.  
  1891. ----
  1892. - Makefile |    2 +-
  1893. - 1 files changed, 1 insertions(+), 1 deletions(-)
  1894. -
  1895. -diff --git a/Makefile b/Makefile
  1896. -index f3ae479..89e2970 100644
  1897.  --- a/Makefile
  1898.  +++ b/Makefile
  1899.  @@ -73,7 +73,7 @@ UNCRUSTIFY_FILES = $(PLUGIN).c scanmenu.c scanmenu.h
  1900. @@ -20,6 +12,4 @@ index f3ae479..89e2970 100644
  1901.  
  1902.   ### Implicit rules:
  1903.  
  1904. ---
  1905. -1.7.2.5
  1906.  
  1907. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-02-vdr_2.3.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-02-vdr_2.3.patch
  1908. new file mode 100644
  1909. index 0000000..1c2f037
  1910. --- /dev/null
  1911. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-02-vdr_2.3.patch
  1912. @@ -0,0 +1,59 @@
  1913. +--- a/scanmenu.c
  1914. ++++ b/scanmenu.c
  1915. +@@ -255,6 +255,9 @@
  1916. + {
  1917. +    eOSState state = cOsdMenu::ProcessKey(Key);
  1918. +    int direction = 0;
  1919. ++#if APIVERSNUM >= 20301
  1920. ++   LOCK_CHANNELS_READ;
  1921. ++#endif
  1922. +    switch (Key) {
  1923. +       case kLeft:    direction = -1;
  1924. +                      break;
  1925. +@@ -268,7 +271,11 @@
  1926. +                         case SETSCAN:
  1927. +                           osdstatus = SCANNING;
  1928. +                           start = time(NULL);
  1929. ++#if APIVERSNUM < 20301
  1930. +                           channelcount0 = Channels.Count();
  1931. ++#else
  1932. ++                          channelcount0 = Channels->Count();
  1933. ++#endif
  1934. +                           SetHelp(tr("Stop"), NULL, NULL, NULL);
  1935. +                           TransferSetup();
  1936. +                           PutCommand(CmdStartScan);
  1937. +@@ -655,7 +662,8 @@
  1938. +   sbuf = cString::sprintf("%s (%d%% transponders from scan list + %u queued)", buf, status.progress, status.nextTransponders);
  1939. +   ProgressBar->SetText(*sbuf);
  1940. +
  1941. +-  if (TV1 && TV2 && TV3 && TV4 && TV5)
  1942. ++#if APIVERSNUM < 20301
  1943. ++  if (TV1 && TV2 && TV3 && TV4 && TV5) {
  1944. +      switch (Channels.Count() - channelcount0) {
  1945. +          default:;
  1946. +          case 5: TV5->SetText(Channels.GetByNumber(Channels.Count()-4)->Name());
  1947. +@@ -665,8 +673,23 @@
  1948. +          case 1: TV1->SetText(Channels.GetByNumber(Channels.Count()-0)->Name());
  1949. +          case 0:;
  1950. +          }
  1951. +-
  1952. ++  }
  1953. +   sbuf = cString::sprintf("%s%d", tr("New channels: "), Channels.Count() - channelcount0);
  1954. ++#else
  1955. ++  LOCK_CHANNELS_READ;
  1956. ++  if (TV1 && TV2 && TV3 && TV4 && TV5) {
  1957. ++     switch (Channels->Count() - channelcount0) {
  1958. ++         default:;
  1959. ++         case 5: TV5->SetText(Channels->GetByNumber(Channels->Count()-4)->Name());
  1960. ++         case 4: TV4->SetText(Channels->GetByNumber(Channels->Count()-3)->Name());
  1961. ++         case 3: TV3->SetText(Channels->GetByNumber(Channels->Count()-2)->Name());
  1962. ++         case 2: TV2->SetText(Channels->GetByNumber(Channels->Count()-1)->Name());
  1963. ++         case 1: TV1->SetText(Channels->GetByNumber(Channels->Count()-0)->Name());
  1964. ++         case 0:;
  1965. ++         }
  1966. ++  }
  1967. ++  sbuf = cString::sprintf("%s%d", tr("New channels: "), Channels->Count() - channelcount0);
  1968. ++#endif
  1969. +   if (CH) CH->SetText(*sbuf);
  1970. +
  1971. +   Display();
  1972. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/package.mk
  1973. index 96d0b01..c2f761e 100644
  1974. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/package.mk
  1975. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/package.mk
  1976. @@ -1,34 +1,35 @@
  1977.  ################################################################################
  1978. -#      This file is part of OpenELEC - http://www.openelec.tv
  1979. +#      This file is part of LibreELEC - https://libreelec.tv
  1980. +#      Copyright (C) 2016-present Team LibreELEC
  1981.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1982.  #
  1983. -#  OpenELEC is free software: you can redistribute it and/or modify
  1984. +#  LibreELEC is free software: you can redistribute it and/or modify
  1985.  #  it under the terms of the GNU General Public License as published by
  1986.  #  the Free Software Foundation, either version 2 of the License, or
  1987.  #  (at your option) any later version.
  1988.  #
  1989. -#  OpenELEC is distributed in the hope that it will be useful,
  1990. +#  LibreELEC is distributed in the hope that it will be useful,
  1991.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1992.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1993.  #  GNU General Public License for more details.
  1994.  #
  1995.  #  You should have received a copy of the GNU General Public License
  1996. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1997. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1998.  ################################################################################
  1999.  
  2000.  PKG_NAME="vdr-plugin-xmltv2vdr"
  2001. -PKG_VERSION="b48e0bec"
  2002. +PKG_VERSION="ec7bd92"
  2003. +PKG_SHA256="eacc91062095563d8adc93873b373ddb34b076a8c0a9e5a86f6220d1d5d892e9"
  2004.  PKG_ARCH="any"
  2005.  PKG_LICENSE="GPL"
  2006.  PKG_SITE="http://projects.vdr-developer.org/projects/plg-xmltv2vdr"
  2007. -PKG_URL="http://projects.vdr-developer.org/git/vdr-plugin-xmltv2vdr.git/snapshot/${PKG_NAME}-${PKG_VERSION}.tar.gz"
  2008. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-xmltv2vdr/archive/${PKG_VERSION}.tar.gz"
  2009.  PKG_DEPENDS_TARGET="toolchain vdr sqlite curl libzip libxml2 libxslt enca pcre"
  2010.  PKG_SECTION="multimedia"
  2011. -PKG_SHORTDESC="vdr-xmltv2vdr"
  2012. -PKG_LONGDESC="vdr-xmltv2vdr"
  2013. +PKG_SHORTDESC="xmltv2vdr imports data in xmltv format"
  2014. +PKG_LONGDESC="xmltv2vdr imports data in xmltv format"
  2015.  
  2016.  PKG_IS_ADDON="no"
  2017. -
  2018.  PKG_AUTORECONF="no"
  2019.  
  2020.  pre_configure_target() {
  2021. @@ -50,7 +51,6 @@ post_make_target() {
  2022.    make -j1
  2023.    cd -
  2024.    $STRIP dist/epgdata2xmltv/epgdata2xmltv
  2025. -  $STRIP libvdr-*.so*
  2026.  }
  2027.  
  2028.  makeinstall_target() {
  2029. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-01_dont-build-i18n.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-01_dont-build-i18n.patch
  2030. index 9949e94..643d1f2 100644
  2031. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-01_dont-build-i18n.patch
  2032. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-01_dont-build-i18n.patch
  2033. @@ -1,14 +1,6 @@
  2034. -From c2121393b05a756266fe728f83eaddbd3755ce13 Mon Sep 17 00:00:00 2001
  2035.  From: Stefan Saraev <stefan@saraev.ca>
  2036. -Date: Mon, 16 Jun 2014 12:14:33 +0300
  2037.  Subject: [PATCH] dont build i18n
  2038.  
  2039. ----
  2040. - Makefile |    2 +-
  2041. - 1 files changed, 1 insertions(+), 1 deletions(-)
  2042. -
  2043. -diff --git a/Makefile b/Makefile
  2044. -index aa344a4..819b5b0 100644
  2045.  --- a/Makefile
  2046.  +++ b/Makefile
  2047.  @@ -62,7 +62,7 @@ OBJS = $(PLUGIN).o soundex.o extpipe.o parse.o source.o import.o event.o setup.o
  2048. @@ -20,6 +12,4 @@ index aa344a4..819b5b0 100644
  2049.  
  2050.   ### Implicit rules:
  2051.  
  2052. ---
  2053. -1.7.2.5
  2054.  
  2055. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-gcc6.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-gcc6.patch
  2056. deleted file mode 100644
  2057. index 8b4e7cb..0000000
  2058. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-gcc6.patch
  2059. +++ /dev/null
  2060. @@ -1,12 +0,0 @@
  2061. -diff -Naur a/import.cpp b/import.cpp
  2062. ---- a/import.cpp   2016-08-23 15:16:10.362347074 +0100
  2063. -+++ b/import.cpp   2016-08-23 15:16:22.814431356 +0100
  2064. -@@ -250,7 +250,7 @@
  2065. - char *cImport::Add2Description(char *description, const char *Name, int Value)
  2066. - {
  2067. -     char *value=NULL;
  2068. --    if (asprintf(&value,"%i",Value)==-1) return false;
  2069. -+    if (asprintf(&value,"%i",Value)==-1) return NULL;
  2070. -     description = strcatrealloc(description,Name);
  2071. -     description = strcatrealloc(description,": ");
  2072. -     description = strcatrealloc(description,value);
  2073. diff --git a/packages/addons/addon-depends/vdr/package.mk b/packages/addons/addon-depends/vdr/package.mk
  2074. index 5fa5d47..0bb0ddf 100644
  2075. --- a/packages/addons/addon-depends/vdr/package.mk
  2076. +++ b/packages/addons/addon-depends/vdr/package.mk
  2077. @@ -1,28 +1,30 @@
  2078.  ################################################################################
  2079. -#      This file is part of OpenELEC - http://www.openelec.tv
  2080. +#      This file is part of LibreELEC - https://libreelec.tv
  2081. +#      Copyright (C) 2016-present Team LibreELEC
  2082.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  2083.  #      Copyright (C) 2011 Anthony Nash (nash.ant@gmail.com)
  2084.  #
  2085. -#  OpenELEC is free software: you can redistribute it and/or modify
  2086. +#  LibreELEC is free software: you can redistribute it and/or modify
  2087.  #  it under the terms of the GNU General Public License as published by
  2088.  #  the Free Software Foundation, either version 2 of the License, or
  2089.  #  (at your option) any later version.
  2090.  #
  2091. -#  OpenELEC is distributed in the hope that it will be useful,
  2092. +#  LibreELEC is distributed in the hope that it will be useful,
  2093.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  2094.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2095.  #  GNU General Public License for more details.
  2096.  #
  2097.  #  You should have received a copy of the GNU General Public License
  2098. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  2099. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  2100.  ################################################################################
  2101.  
  2102.  PKG_NAME="vdr"
  2103. -PKG_VERSION="2.2.0"
  2104. +PKG_VERSION="2.3.8"
  2105. +PKG_SHA256="d871170ee90ef2fc6293eefb44262b82b2e1f00f934681c721da7bd30e45bf22"
  2106.  PKG_ARCH="any"
  2107.  PKG_LICENSE="GPL"
  2108.  PKG_SITE="http://www.tvdr.de"
  2109. -PKG_URL="ftp://ftp.tvdr.de/vdr/$PKG_NAME-$PKG_VERSION.tar.bz2"
  2110. +PKG_URL="ftp://ftp.tvdr.de/vdr/Developer/$PKG_NAME-$PKG_VERSION.tar.bz2"
  2111.  PKG_DEPENDS_TARGET="toolchain fontconfig freetype libcap libiconv libjpeg-turbo bzip2"
  2112.  PKG_SECTION="multimedia"
  2113.  PKG_SHORTDESC="vdr: A powerful DVB TV application"
  2114. @@ -60,3 +62,4 @@ make_target() {
  2115.  makeinstall_target() {
  2116.    : # installation not needed, done by create-addon script
  2117.  }
  2118. +
  2119. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-01-decrease-channels.conf-autosave-delay.patch b/packages/addons/addon-depends/vdr/patches/vdr-01-decrease-channels.conf-autosave-delay.patch
  2120. new file mode 100644
  2121. index 0000000..7b73d80
  2122. --- /dev/null
  2123. +++ b/packages/addons/addon-depends/vdr/patches/vdr-01-decrease-channels.conf-autosave-delay.patch
  2124. @@ -0,0 +1,15 @@
  2125. +From: Stefan Saraev <stefan@saraev.ca>
  2126. +Subject: [PATCH] decrease channels.conf autosave delay
  2127. +
  2128. +--- a/vdr.c
  2129. ++++ b/vdr.c
  2130. +@@ -74,7 +74,7 @@
  2131. + #define SHUTDOWNCANCELPROMPT   5 // seconds to wait in user prompt to allow canceling shutdown
  2132. + #define RESTARTCANCELPROMPT    5 // seconds to wait in user prompt before restarting on SIGHUP
  2133. + #define MANUALSTART          600 // seconds the next timer must be in the future to assume manual start
  2134. +-#define CHANNELSAVEDELTA     600 // seconds before saving channels.conf after automatic modifications
  2135. ++#define CHANNELSAVEDELTA     120 // seconds before saving channels.conf after automatic modifications
  2136. + #define DEVICEREADYTIMEOUT    30 // seconds to wait until all devices are ready
  2137. + #define MENUTIMEOUT          120 // seconds of user inactivity after which an OSD display is closed
  2138. + #define TIMERCHECKDELTA       10 // seconds between checks for timers that need to see their channel
  2139. +
  2140. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-01_disable_ca_updates.patch b/packages/addons/addon-depends/vdr/patches/vdr-01_disable_ca_updates.patch
  2141. deleted file mode 100644
  2142. index 4f41d8f..0000000
  2143. --- a/packages/addons/addon-depends/vdr/patches/vdr-01_disable_ca_updates.patch
  2144. +++ /dev/null
  2145. @@ -1,11 +0,0 @@
  2146. -diff -Nru vdr-1.7.15-vanilla/pat.c vdr-1.7.15-disable_ca_updates/pat.c
  2147. ---- vdr-1.7.15-vanilla/pat.c   2010-06-06 19:11:15.000000000 +0300
  2148. -+++ vdr-1.7.15-disable_ca_updates/pat.c    2010-06-06 20:42:47.000000000 +0300
  2149. -@@ -490,6 +490,7 @@
  2150. -             }
  2151. -         if (Setup.UpdateChannels >= 2) {
  2152. -            Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
  2153. -+           if (!cSource::IsType(Channel->Source(), 'I'))
  2154. -            Channel->SetCaIds(CaDescriptors->CaIds());
  2155. -            Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
  2156. -            }
  2157. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-02-disable-logspam.patch b/packages/addons/addon-depends/vdr/patches/vdr-02-disable-logspam.patch
  2158. new file mode 100644
  2159. index 0000000..fc08ebe
  2160. --- /dev/null
  2161. +++ b/packages/addons/addon-depends/vdr/patches/vdr-02-disable-logspam.patch
  2162. @@ -0,0 +1,29 @@
  2163. +remove logspam
  2164. +ERROR: no OSD provider available - using dummy OSD!
  2165. +
  2166. +--- a/osd.c
  2167. ++++ b/osd.c
  2168. +@@ -2027,8 +2027,6 @@ cOsd *cOsdProvider::NewOsd(int Left, int Top, uint Level)
  2169. +         }
  2170. +      return Osd;
  2171. +      }
  2172. +-  else
  2173. +-     esyslog("ERROR: no OSD provider available - using dummy OSD!");
  2174. +   return new cOsd(Left, Top, 999); // create a dummy cOsd, so that access won't result in a segfault
  2175. + }
  2176. +
  2177. +--- a/vdr.c
  2178. ++++ b/vdr.c
  2179. +@@ -765,12 +765,6 @@ int main(int argc, char *argv[])
  2180. +   Folders.Load(AddDirectory(ConfigDirectory, "folders.conf"));
  2181. +   CamResponsesLoad(AddDirectory(ConfigDirectory, "camresponses.conf"), true);
  2182. +
  2183. +-  if (!*cFont::GetFontFileName(Setup.FontOsd)) {
  2184. +-     const char *msg = "no fonts available - OSD will not show any text!";
  2185. +-     fprintf(stderr, "vdr: %s\n", msg);
  2186. +-     esyslog("ERROR: %s", msg);
  2187. +-     }
  2188. +-
  2189. +   // Recordings:
  2190. +
  2191. +   cRecordings::Update();
  2192. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-10_decrease-channels.conf-autosave-delay.patch b/packages/addons/addon-depends/vdr/patches/vdr-10_decrease-channels.conf-autosave-delay.patch
  2193. deleted file mode 100644
  2194. index ecdf5f2..0000000
  2195. --- a/packages/addons/addon-depends/vdr/patches/vdr-10_decrease-channels.conf-autosave-delay.patch
  2196. +++ /dev/null
  2197. @@ -1,25 +0,0 @@
  2198. -From 973c66c3d4e7418e53932c719b4cb3345b38da9e Mon Sep 17 00:00:00 2001
  2199. -From: Stefan Saraev <stefan@saraev.ca>
  2200. -Date: Sat, 12 Oct 2013 21:40:12 +0300
  2201. -Subject: [PATCH] decrease channels.conf autosave delay
  2202. -
  2203. ----
  2204. - vdr.c |    2 +-
  2205. - 1 files changed, 1 insertions(+), 1 deletions(-)
  2206. -
  2207. -diff --git a/vdr.c b/vdr.c
  2208. -index c63eeca..1fb0c57 100644
  2209. ---- a/vdr.c
  2210. -+++ b/vdr.c
  2211. -@@ -74,7 +74,7 @@
  2212. - #define SHUTDOWNCANCELPROMPT   5 // seconds to wait in user prompt to allow canceling shutdown
  2213. - #define RESTARTCANCELPROMPT    5 // seconds to wait in user prompt before restarting on SIGHUP
  2214. - #define MANUALSTART          600 // seconds the next timer must be in the future to assume manual start
  2215. --#define CHANNELSAVEDELTA     600 // seconds before saving channels.conf after automatic modifications
  2216. -+#define CHANNELSAVEDELTA     120 // seconds before saving channels.conf after automatic modifications
  2217. - #define DEVICEREADYTIMEOUT    30 // seconds to wait until all devices are ready
  2218. - #define MENUTIMEOUT          120 // seconds of user inactivity after which an OSD display is closed
  2219. - #define TIMERCHECKDELTA       10 // seconds between checks for timers that need to see their channel
  2220. ---
  2221. -1.7.2.5
  2222. -
  2223. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-20_Implement-H.265-frame-parser.patch b/packages/addons/addon-depends/vdr/patches/vdr-20_Implement-H.265-frame-parser.patch
  2224. deleted file mode 100644
  2225. index 444ea47..0000000
  2226. --- a/packages/addons/addon-depends/vdr/patches/vdr-20_Implement-H.265-frame-parser.patch
  2227. +++ /dev/null
  2228. @@ -1,148 +0,0 @@
  2229. -From ce4d2a08e6448b7bfab68b89a12a156ed3294a63 Mon Sep 17 00:00:00 2001
  2230. -From: Thomas Reufer <thomas@reufer.ch>
  2231. -Date: Mon, 28 Mar 2016 19:47:14 +0200
  2232. -Subject: [PATCH] Implement H.265 frame parser
  2233. -
  2234. ----
  2235. - pat.c   |  1 +
  2236. - remux.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
  2237. - 2 files changed, 82 insertions(+), 3 deletions(-)
  2238. -
  2239. -diff --git a/pat.c b/pat.c
  2240. -index beb5609..bb7e5ae 100644
  2241. ---- a/pat.c
  2242. -+++ b/pat.c
  2243. -@@ -439,6 +439,7 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
  2244. -               case 1: // STREAMTYPE_11172_VIDEO
  2245. -               case 2: // STREAMTYPE_13818_VIDEO
  2246. -               case 0x1B: // H.264
  2247. -+              case 0x24: // H.265
  2248. -                       Vpid = esPid;
  2249. -                       Ppid = pmt.getPCRPid();
  2250. -                       Vtype = stream.getStreamType();
  2251. -diff --git a/remux.c b/remux.c
  2252. -index 6c07efc..fe87160 100644
  2253. ---- a/remux.c
  2254. -+++ b/remux.c
  2255. -@@ -708,6 +708,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
  2256. -            case 0x01: // STREAMTYPE_11172_VIDEO
  2257. -            case 0x02: // STREAMTYPE_13818_VIDEO
  2258. -            case 0x1B: // H.264
  2259. -+           case 0x24: // H.265
  2260. -                       vpid = stream.getPid();
  2261. -                       vtype = stream.getStreamType();
  2262. -                       ppid = Pmt.getPCRPid();
  2263. -@@ -1204,16 +1205,16 @@ private:
  2264. -     nutSequenceParameterSet = 7,
  2265. -     nutAccessUnitDelimiter  = 9,
  2266. -     };
  2267. --  cTsPayload tsPayload;
  2268. -   uchar byte; // holds the current byte value in case of bitwise access
  2269. -   int bit; // the bit index into the current byte (-1 if we're not in bit reading mode)
  2270. -   int zeroBytes; // the number of consecutive zero bytes (to detect 0x000003)
  2271. --  uint32_t scanner;
  2272. -   // Identifiers written in '_' notation as in "ITU-T H.264":
  2273. -   bool separate_colour_plane_flag;
  2274. -   int log2_max_frame_num;
  2275. -   bool frame_mbs_only_flag;
  2276. --  //
  2277. -+protected:
  2278. -+  cTsPayload tsPayload;
  2279. -+  uint32_t scanner;
  2280. -   bool gotAccessUnitDelimiter;
  2281. -   bool gotSequenceParameterSet;
  2282. -   uchar GetByte(bool Raw = false);
  2283. -@@ -1430,6 +1431,81 @@ void cH264Parser::ParseSliceHeader(void)
  2284. -      }
  2285. - }
  2286. -
  2287. -+// --- cH265Parser -----------------------------------------------------------
  2288. -+
  2289. -+class cH265Parser : public cH264Parser {
  2290. -+private:
  2291. -+  enum eNalUnitType {
  2292. -+    nutSliceSegmentTrailingN =  0,
  2293. -+    nutSliceSegmentTrailingR =  1,
  2294. -+    nutSliceSegmentTSAN      =  2,
  2295. -+    nutSliceSegmentTSAR      =  3,
  2296. -+    nutSliceSegmentSTSAN     =  4,
  2297. -+    nutSliceSegmentSTSAR     =  5,
  2298. -+    nutSliceSegmentRADLN     =  6,
  2299. -+    nutSliceSegmentRADLR     =  7,
  2300. -+    nutSliceSegmentRASLN     =  8,
  2301. -+    nutSliceSegmentRASLR     =  9,
  2302. -+    nutSliceSegmentBLAWLP    = 16,
  2303. -+    nutSliceSegmentBLAWRADL  = 17,
  2304. -+    nutSliceSegmentBLANLP    = 18,
  2305. -+    nutSliceSegmentIDRWRADL  = 19,
  2306. -+    nutSliceSegmentIDRNLP    = 20,
  2307. -+    nutSliceSegmentCRANUT    = 21,
  2308. -+    nutVideoParameterSet     = 32,
  2309. -+    nutSequenceParameterSet  = 33,
  2310. -+    nutPictureParameterSet   = 34,
  2311. -+    nutAccessUnitDelimiter   = 35,
  2312. -+    nutEndOfSequence         = 36,
  2313. -+    nutEndOfBitstream        = 37,
  2314. -+    nutFillerData            = 38,
  2315. -+    nutPrefixSEI             = 39,
  2316. -+    nutSuffixSEI             = 40,
  2317. -+    nutNonVCLRes0            = 41,
  2318. -+    nutNonVCLRes3            = 44,
  2319. -+    nutUnspecified0          = 48,
  2320. -+    nutUnspecified7          = 55,
  2321. -+    };
  2322. -+public:
  2323. -+  cH265Parser(void);
  2324. -+  virtual int Parse(const uchar *Data, int Length, int Pid);
  2325. -+  };
  2326. -+
  2327. -+cH265Parser::cH265Parser(void) :
  2328. -+  cH264Parser()
  2329. -+{
  2330. -+}
  2331. -+
  2332. -+int cH265Parser::Parse(const uchar *Data, int Length, int Pid)
  2333. -+{
  2334. -+  newFrame = independentFrame = false;
  2335. -+  tsPayload.Setup(const_cast<uchar *>(Data), Length, Pid);
  2336. -+  if (TsPayloadStart(Data)) {
  2337. -+     tsPayload.SkipPesHeader();
  2338. -+     scanner = EMPTY_SCANNER;
  2339. -+     }
  2340. -+  for (;;) {
  2341. -+      scanner = (scanner << 8) | GetByte(true);
  2342. -+      if ((scanner & 0xFFFFFF00) == 0x00000100) { // NAL unit start
  2343. -+         uchar NalUnitType = (scanner >> 1) & 0x3F;
  2344. -+         GetByte(); // nuh_layer_id + nuh_temporal_id_plus1
  2345. -+         if (NalUnitType <= nutSliceSegmentRASLR || (NalUnitType >= nutSliceSegmentBLAWLP && NalUnitType <= nutSliceSegmentCRANUT)) {
  2346. -+            if (NalUnitType == nutSliceSegmentIDRWRADL || NalUnitType == nutSliceSegmentIDRNLP || NalUnitType == nutSliceSegmentCRANUT)
  2347. -+               independentFrame = true;
  2348. -+            if (GetBit()) { // first_slice_segment_in_pic_flag
  2349. -+               newFrame = true;
  2350. -+               tsPayload.Statistics();
  2351. -+               }
  2352. -+            break;
  2353. -+            }
  2354. -+         }
  2355. -+      if (tsPayload.AtPayloadStart() // stop at any new payload start to have the buffer refilled if necessary
  2356. -+         || tsPayload.Eof()) // or if we're out of data
  2357. -+         break;
  2358. -+      }
  2359. -+  return tsPayload.Used();
  2360. -+}
  2361. -+
  2362. - // --- cFrameDetector --------------------------------------------------------
  2363. -
  2364. - cFrameDetector::cFrameDetector(int Pid, int Type)
  2365. -@@ -1463,6 +1539,8 @@ void cFrameDetector::SetPid(int Pid, int Type)
  2366. -      parser = new cMpeg2Parser;
  2367. -   else if (type == 0x1B)
  2368. -      parser = new cH264Parser;
  2369. -+  else if (type == 0x24)
  2370. -+     parser = new cH265Parser;
  2371. -   else if (type == 0x04 || type == 0x06) // MPEG audio or AC3 audio
  2372. -      parser = new cAudioParser;
  2373. -   else if (type != 0)
  2374. ---
  2375. -2.0.5
  2376. -
  2377. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-30_fix-dvbname-segfault.patch b/packages/addons/addon-depends/vdr/patches/vdr-30_fix-dvbname-segfault.patch
  2378. deleted file mode 100644
  2379. index acb0392..0000000
  2380. --- a/packages/addons/addon-depends/vdr/patches/vdr-30_fix-dvbname-segfault.patch
  2381. +++ /dev/null
  2382. @@ -1,41 +0,0 @@
  2383. ---- vdr-2.2.0/dvbdevice.c.org  2015-01-14 13:09:19.000000000 +0100
  2384. -+++ vdr-2.2.0/dvbdevice.c  2016-06-25 15:50:40.619609021 +0200
  2385. -@@ -1089,6 +1089,17 @@
  2386. -   NULL
  2387. -   };
  2388. -
  2389. -+#define NUMDELIVERYSYSTEMNAMES (sizeof(DeliverySystemNames)/sizeof(*DeliverySystemNames)-1)
  2390. -+
  2391. -+const char *GetDeliverySystemName(int n)
  2392. -+{
  2393. -+  if (n < 0 || n >= NUMDELIVERYSYSTEMNAMES)
  2394. -+     return DeliverySystemNames[0];
  2395. -+
  2396. -+  return DeliverySystemNames[n];
  2397. -+}
  2398. -+
  2399. -+
  2400. - cDvbDevice::cDvbDevice(int Adapter, int Frontend)
  2401. - {
  2402. -   adapter = Adapter;
  2403. -@@ -1185,9 +1196,9 @@
  2404. - {
  2405. -   if (dvbTuner) {
  2406. -      if (dvbTuner->FrontendType() != SYS_UNDEFINED)
  2407. --        return DeliverySystemNames[dvbTuner->FrontendType()];
  2408. -+        return GetDeliverySystemName(dvbTuner->FrontendType());
  2409. -      if (numDeliverySystems)
  2410. --        return DeliverySystemNames[deliverySystems[0]]; // to have some reasonable default
  2411. -+        return GetDeliverySystemName(deliverySystems[0]); // to have some reasonable default
  2412. -      }
  2413. -   return "";
  2414. - }
  2415. -@@ -1318,7 +1329,7 @@
  2416. -   if (numDeliverySystems > 0) {
  2417. -      cString ds("");
  2418. -      for (int i = 0; i < numDeliverySystems; i++)
  2419. --         ds = cString::sprintf("%s%s%s", *ds, i ? "," : "", DeliverySystemNames[deliverySystems[i]]);
  2420. -+         ds = cString::sprintf("%s%s%s", *ds, i ? "," : "", GetDeliverySystemName(deliverySystems[i]));
  2421. -      cString ms("");
  2422. -      if (frontendInfo.caps & FE_CAN_QPSK)      { numModulations++; ms = cString::sprintf("%s%s%s", *ms, **ms ? "," : "", MapToUserString(QPSK, ModulationValues)); }
  2423. -      if (frontendInfo.caps & FE_CAN_QAM_16)    { numModulations++; ms = cString::sprintf("%s%s%s", *ms, **ms ? "," : "", MapToUserString(QAM_16, ModulationValues)); }
  2424. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-40_caid-buffer-v3.patch b/packages/addons/addon-depends/vdr/patches/vdr-40_caid-buffer-v3.patch
  2425. deleted file mode 100644
  2426. index e695ae0..0000000
  2427. --- a/packages/addons/addon-depends/vdr/patches/vdr-40_caid-buffer-v3.patch
  2428. +++ /dev/null
  2429. @@ -1,153 +0,0 @@
  2430. -Description: dynamically resize buffer for caids
  2431. -Forwarded: yes
  2432. -Author: Lars Hanisch <dvb@flensrocker.de>
  2433. -
  2434. -diff --git a/ci.c b/ci.c
  2435. -index ffc7ff7..8bfae23 100644
  2436. ---- a/ci.c
  2437. -+++ b/ci.c
  2438. -@@ -25,6 +25,8 @@
  2439. - #include "skins.h"
  2440. - #include "tools.h"
  2441. -
  2442. -+#define CAID_BUFSIZE 1024
  2443. -+
  2444. - // Set these to 'true' for debug output:
  2445. - static bool DumpTPDUDataTransfer = false;
  2446. - static bool DebugProtocol = false;
  2447. -@@ -763,9 +765,12 @@ private:
  2448. -   int transponder;
  2449. -   int programNumber;
  2450. -   int caSystemIds[MAXCASYSTEMIDS + 1]; // list is zero terminated!
  2451. -+  uint8_t *caDescriptors;
  2452. -+  int caBufSize;
  2453. -   void AddCaDescriptors(int Length, const uint8_t *Data);
  2454. - public:
  2455. -   cCiCaPmt(uint8_t CmdId, int Source, int Transponder, int ProgramNumber, const int *CaSystemIds);
  2456. -+  ~cCiCaPmt(void);
  2457. -   uint8_t CmdId(void) { return cmdId; }
  2458. -   void SetListManagement(uint8_t ListManagement);
  2459. -   uint8_t ListManagement(void) { return capmt[0]; }
  2460. -@@ -784,8 +789,15 @@ cCiCaPmt::cCiCaPmt(uint8_t CmdId, int Source, int Transponder, int ProgramNumber
  2461. -          caSystemIds[i] = CaSystemIds[i];
  2462. -      }
  2463. -   caSystemIds[i] = 0;
  2464. --  uint8_t caDescriptors[512];
  2465. --  int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, sizeof(caDescriptors), caDescriptors, 0);
  2466. -+  caBufSize = CAID_BUFSIZE;
  2467. -+  caDescriptors = new uint8_t[caBufSize];
  2468. -+  int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, 0);
  2469. -+  if (caDescriptorsLength < 0) {
  2470. -+     delete [] caDescriptors;
  2471. -+     caBufSize = -caDescriptorsLength + 8;
  2472. -+     caDescriptors = new uint8_t[caBufSize];
  2473. -+     caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, 0);
  2474. -+     }
  2475. -   length = 0;
  2476. -   capmt[length++] = CPLM_ONLY;
  2477. -   capmt[length++] = (ProgramNumber >> 8) & 0xFF;
  2478. -@@ -797,6 +809,11 @@ cCiCaPmt::cCiCaPmt(uint8_t CmdId, int Source, int Transponder, int ProgramNumber
  2479. -   AddCaDescriptors(caDescriptorsLength, caDescriptors);
  2480. - }
  2481. -
  2482. -+cCiCaPmt::~cCiCaPmt(void)
  2483. -+{
  2484. -+  delete [] caDescriptors;
  2485. -+}
  2486. -+
  2487. - void cCiCaPmt::SetListManagement(uint8_t ListManagement)
  2488. - {
  2489. -   capmt[0] = ListManagement;
  2490. -@@ -805,21 +822,34 @@ void cCiCaPmt::SetListManagement(uint8_t ListManagement)
  2491. - void cCiCaPmt::AddPid(int Pid, uint8_t StreamType)
  2492. - {
  2493. -   if (Pid) {
  2494. --     uint8_t caDescriptors[512];
  2495. --     int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, sizeof(caDescriptors), caDescriptors, Pid);
  2496. --     //XXX buffer overflow check???
  2497. --     capmt[length++] = StreamType;
  2498. --     capmt[length++] = (Pid >> 8) & 0xFF;
  2499. --     capmt[length++] =  Pid       & 0xFF;
  2500. --     esInfoLengthPos = length;
  2501. --     capmt[length++] = 0x00; // ES_info_length H (at ES level)
  2502. --     capmt[length++] = 0x00; // ES_info_length L
  2503. --     AddCaDescriptors(caDescriptorsLength, caDescriptors);
  2504. -+     int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, Pid);
  2505. -+     if (caDescriptorsLength < 0) {
  2506. -+       delete [] caDescriptors;
  2507. -+       caBufSize = -caDescriptorsLength + 8;
  2508. -+       caDescriptors = new uint8_t[caBufSize];
  2509. -+       caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, Pid);
  2510. -+       }
  2511. -+     if (length + 5 < int(sizeof(capmt))) {
  2512. -+        capmt[length++] = StreamType;
  2513. -+        capmt[length++] = (Pid >> 8) & 0xFF;
  2514. -+        capmt[length++] =  Pid       & 0xFF;
  2515. -+        esInfoLengthPos = length;
  2516. -+        capmt[length++] = 0x00; // ES_info_length H (at ES level)
  2517. -+        capmt[length++] = 0x00; // ES_info_length L
  2518. -+        AddCaDescriptors(caDescriptorsLength, caDescriptors);
  2519. -+        }
  2520. -+     else
  2521. -+        esyslog("ERROR: buffer overflow in CA descriptor");
  2522. -      }
  2523. - }
  2524. -
  2525. - void cCiCaPmt::AddCaDescriptors(int Length, const uint8_t *Data)
  2526. - {
  2527. -+  if (Length < 0) {
  2528. -+     dsyslog("DEBUG: calling AddCaDescriptors with Length %d", Length);
  2529. -+     return;
  2530. -+     }
  2531. -+
  2532. -   if (esInfoLengthPos) {
  2533. -      if (length + Length < int(sizeof(capmt))) {
  2534. -         if (Length || cmdId == CPCI_QUERY) {
  2535. -diff --git a/pat.c b/pat.c
  2536. -index 98d306e..9dfbc62 100644
  2537. ---- a/pat.c
  2538. -+++ b/pat.c
  2539. -@@ -165,21 +165,25 @@ int cCaDescriptors::GetCaDescriptors(const int *CaSystemIds, int BufSize, uchar
  2540. -      return 0;
  2541. -   if (BufSize > 0 && Data) {
  2542. -      int length = 0;
  2543. -+     bool tooSmall = false;
  2544. -      for (cCaDescriptor *d = caDescriptors.First(); d; d = caDescriptors.Next(d)) {
  2545. -          if (EsPid < 0 || d->EsPid() == EsPid) {
  2546. -             const int *caids = CaSystemIds;
  2547. -             do {
  2548. -                if (*caids == 0xFFFF || d->CaSystem() == *caids) {
  2549. --                  if (length + d->Length() <= BufSize) {
  2550. -+                  if (length + d->Length() <= BufSize)
  2551. -                      memcpy(Data + length, d->Data(), d->Length());
  2552. --                     length += d->Length();
  2553. --                     }
  2554. -                   else
  2555. --                     return -1;
  2556. -+                     tooSmall = true;
  2557. -+                  length += d->Length();
  2558. -                   }
  2559. -                } while (*++caids);
  2560. -             }
  2561. -          }
  2562. -+     if (tooSmall) {
  2563. -+        dsyslog("DEBUG: buffer for ca-descriptors too small (%d, needed %d)", BufSize, length);
  2564. -+        return -length;
  2565. -+        }
  2566. -      return length;
  2567. -      }
  2568. -   return -1;
  2569. -diff --git a/pat.h b/pat.h
  2570. -index 19e60dc..8bf0738 100644
  2571. ---- a/pat.h
  2572. -+++ b/pat.h
  2573. -@@ -45,7 +45,7 @@ int GetCaDescriptors(int Source, int Transponder, int ServiceId, const int *CaSy
  2574. -          ///< are copied that match one of the given CA system IDs (or all of them, if CaSystemIds
  2575. -          ///< is 0xFFFF).
  2576. -          ///< Returns the number of bytes copied into Data (0 if no CA descriptors are
  2577. --         ///< available), or -1 if BufSize was too small to hold all CA descriptors.
  2578. -+         ///< available), or -(NeededBufSize) if BufSize was too small to hold all CA descriptors.
  2579. -
  2580. - int GetCaPids(int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, int *Pids);
  2581. -          ///< Gets all CA pids for a given channel.
  2582. -
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×