summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de>2019-06-17 12:24:08 (GMT)
committerManuel Reimer <manuel.reimer@gmx.de>2019-06-17 14:53:58 (GMT)
commit32cea9d796fcda7877e0ebbec92bb70ff072d369 (patch)
treea41c790e0c960c18726bfde0455b984c68fd984f
parent508dc29c6f0ca33a57c7bf4c27530ec67d0dca31 (diff)
downloadvdr-32cea9d796fcda7877e0ebbec92bb70ff072d369.tar.gz
vdr-32cea9d796fcda7877e0ebbec92bb70ff072d369.tar.bz2
Version 2.4.1HEADvdr-2.4.1master
VDR version 2.4.1 is now available at ftp://ftp.tvdr.de/vdr/vdr-2.4.1.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-2.4.0-2.4.1.diff MD5 checksums: b2897fe6b6e6711d512a69642b1b8ec1 vdr-2.4.1.tar.bz2 cf5f328165e1a48e28e68b6709312e63 vdr-2.4.0-2.4.1.diff This version fixes a few bugs that came up after the release of version 2.4.0. The changes since version 2.4.0: - Fixed handling the tfRecording flag in the SVDRP commands MODT and UPDT (reported by Johann Friedrichs). - Fixed a possible invalid locking sequence in case a remote timer handling error message is displayed on the OSD and the skin tries to lock the Recordings or DeletedRecordings list in its Flush() function (for instance by calling cVideoDiskUsage::HasChanged()). To do this, the call to Skins.Message() in menu.c's HandleRemoteModifications() has been changed to Skins.QueueMessage(), and cSkins::ProcessQueuedMessages() is now called unconditionally in the main loop, and checks whether the current cSkinDisplay object (if any) implements SetMessage(). - Fixed locking the Channels list in cDisplayChannel, where the lock was still held when Flush() was called (reported by Matthias Senzel and Uwe Scheffler). - Fixed shutdown after user inactivity in case a plugin is keeping the OSD open (reported by Ulrich Eckhardt). - Fixed switching through encrypted channels with the Up/Down keys (thanks to Helmut Binder). - Now deactivating MTD support if a non MCD capable CAM is inserted after removing a previously used CAM that is MCD capable (thanks to Helmut Binder). - Added support for DVB devices with more than one frontend that all use the same dvr and demux. Note that in order for this to work, you must not set symbolic links like "demux1 -> demux0" and "dvr1 -> dvr0", as is mentioned in some user manuals of multi frontend DVB cards. - Reverted the change "The EIT filter no longer parses data from "other TS"...". It led to missing EPG data on channels from Canal Digital Norway (reported by Stian B. Barmen). - Fixed accessing the actual frontend on multi frontend devices (thanks to Helmut Binder). - Fixed opening the UDP port in peerdemo (thanks to Robert Hannebauer). - Fixed handling PATs that contain no PMTs. - Fixed processing the last entry in the scan list of the EIT scanner (thanks to Helmut Binder). - Fixed processing transponder data in the NIT (thanks to Helmut Binder). - Fixed triggering the SDT filter when parsing the NIT (thanks to Helmut Binder). - Added support for EAC3 audio from other sources (thanks to Jürgen Schneider). - No longer logging tuning timeouts for transponders that are announced in the NIT but are not currently broadcasting. - Fixed processing SI::T2DeliverySystemDescriptor when typecasting it over an SI::ExtensionDescriptor (reported by Helmut Binder). - Fixed sorting recordings alphabetically. - Fixed dropping capabilities in case cap_sys_time is not available. - Fixed updating the cursor position when switching channels with the Channel+/- keys while the Channels menu is open. - Fixed handling shared CA pids (thanks to Onur Sentürk). - Now touching the .update file in the video directory after removing deleted recordings, so that other VDRs that use the same video directory will update their list of (deleted) recordings and thus won't display too much empty disk space. - Fixed the install target in case of multiple jobs (thanks to Chris Mayo). - Fixed mapping SIDs in MTD (thanks to Helmut Binder). - Fixed updating the checksum in the CA table after mapping EMM PIDs for MTD (thanks to Helmut Binder). - Fixed a compiler warning in ExchangeChars() (thanks to Helmut Binder). - Fixed a compiler warning and a possible buffer overflow in cCiMMI::SendAnswer(). - Fixed a possible invalid lock sequence if the main menu is open and the user switches to a channel that is currently not available, using the Channel+/- keys. - Fixed handling remote timers in case the response to LSTT is '550 No timers defined'. - Fixed a compiler warning in cIndexFile::ConvertToPes() and added __attribute__((packed)) to tIndexPes and tIndexTs (suggested by Helmut Binder). - Fixed handling repeat function for keyboards. - Added a workaround for broadcasters who set an event to status "not running" where this is inappropriate; implicitly setting events to "not running" is now also logged. - Fixed asserting free disk space in case there is no local timer currently recording. - The default maximum size of a cPixmap has been raised to the maximum possible value. - Increased PLAYERBUFSIZE to (MAXFRAMESIZE * 5) to avoid stuttering replay under heavy system load, and to better document that this buffer size is related to the maximum frame size. - Fixed inconsistent behavior in case only certain devices are used (selected by the '-D' option). - Fixed a wrong variable name in cFileName::cFileName(). - If cSkins::Message() is called from a background thread and Type is not mtStatus, the call is now automatically forwarded to QueueMessage(). - Fixed handling the S2SatelliteDeliverySystemDescriptor for transponders broadcasting in "backwards compatibility mode" according to ETSI EN 300 468 (thanks to Onur Sentürk).
-rw-r--r--CONTRIBUTORS31
-rw-r--r--HISTORY72
-rw-r--r--Makefile6
-rw-r--r--PLUGINS/src/skincurses/HISTORY4
-rw-r--r--PLUGINS/src/skincurses/skincurses.c2
-rw-r--r--ci.c4
-rw-r--r--ci.h2
-rw-r--r--config.h10
-rw-r--r--device.c2
-rw-r--r--device.h2
-rw-r--r--dvbdevice.c2
-rw-r--r--dvbdevice.h2
-rw-r--r--dvbplayer.c2
-rw-r--r--eit.c2
-rw-r--r--eitscan.c2
-rw-r--r--epg.c2
-rw-r--r--libsi/descriptor.c2
-rw-r--r--libsi/descriptor.h2
-rw-r--r--menu.c2
-rw-r--r--mtd.c2
-rw-r--r--mtd.h2
-rw-r--r--nit.c2
-rw-r--r--osd.c2
-rw-r--r--osd.h2
-rw-r--r--pat.c2
-rw-r--r--recording.c26
-rw-r--r--remote.c2
-rw-r--r--remux.c2
-rw-r--r--sections.c2
-rw-r--r--skins.c2
-rw-r--r--skins.h2
-rw-r--r--svdrp.c2
-rw-r--r--timers.c2
-rw-r--r--timers.h2
-rw-r--r--vdr.c16
35 files changed, 168 insertions, 55 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 4fb011f..24f72e8 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -283,6 +283,8 @@ Uwe Scheffler <linux_dvb@uni.de>
for reporting a problem in handling the PrimaryLimit when requesting a device for
live viewing
for reporting a black screen while a "Recording started" message is displayed
+ for reporting a problem with the lock on the Channels list in cDisplayChannel still
+ being held when Flush() was called
Matjaz Thaler <matjaz.thaler@guest.arnes.si>
for improving AC3 decoding when replaying DVDs
@@ -2270,6 +2272,7 @@ Jrgen Schneider <ivory7@gmx.de>
in cKbdRemote
for reporting a possible discrepancy of the primary device number in the LSTD and
PRIM commands
+ for adding support for EAC3 audio from other sources
Christian Wieninger <cwieninger@gmx.de>
for suggesting to add cMenuEditStrItem::InEditMode()
@@ -2854,6 +2857,7 @@ Johann Friedrichs <johann.friedrichs@web.de>
replay has been stopped, but before the replay control has been destroyed
for reporting a problem in processing SVDRP client responses in case the caller doesn't
want the actual response strings
+ for reporting a bug in handling the tfRecording flag in the SVDRP commands MODT and UPDT
Timo Helkio <timolavi@mbnet.fi>
for reporting a hangup when replaying a TS recording with subtitles activated
@@ -3124,6 +3128,7 @@ Chris Mayo <aklhfex@gmail.com>
for updating links in the INSTALL file
for reporting double slashes in file names processed with AddDirectory()
for using the 'example' macro in vdr.5
+ for fixing the install target in case of multiple jobs
Dominic Evans <oldmanuk@gmail.com>
for making the SVDRP command LSTC accepts channel IDs
@@ -3315,6 +3320,8 @@ Matthias Senzel <matthias.senzel@t-online.de>
after starting the editing process
for reporting a problem with setting the initial offset of the cursor in a list menu
for reporting a high CPU load during replay with active progress display
+ for reporting that the lock on the Channels list in cDisplayChannel was still held
+ when Flush() was called
Marek Nazarko <mnazarko@gmail.com>
for translating OSD texts to the Polish language
@@ -3539,6 +3546,7 @@ Stefan Pschel <basic.master@gmx.de>
Robert Hannebauer <vdr@hannebauer.org>
for fixing an overflow of PIDs in a receiver
+ for fixing opening the UDP port in peerdemo
Aitugan Sarbassov <isarbassov@gmail.com>
for adding 'S58.5E Kazsat 3' to sources.conf
@@ -3558,6 +3566,29 @@ Daniel Scheller <d.scheller@gmx.net>
Onur Sentrk <onur@sentek.org>
for making the MTD mapper avoid immediately reusing unique PIDs when switching channels
+ for fixing handling shared CA pids
+ for fixing handling the S2SatelliteDeliverySystemDescriptor for transponders broadcasting
+ in "backwards compatibility mode" according to ETSI EN 300 468
Helmut Binder <cco@aon.at>
for improving calculating signal strength and quality
+ for fixing switching through encrypted channels with the Up/Down keys
+ for deactivating MTD support if a non MCD capable CAM is inserted after removing
+ a previously used CAM that is MCD capable
+ for fixing accessing the actual frontend on multi frontend devices
+ for fixing processing the last entry in the scan list of the EIT scanner
+ for fixing processing transponder data in the NIT
+ for fixing triggering the SDT filter when parsing the NIT
+ for reporting a bug in processing SI::T2DeliverySystemDescriptor when typecasting it
+ over an SI::ExtensionDescriptor
+ for fixing mapping SIDs in MTD
+ for fixing updating the checksum in the CA table after mapping EMM PIDs for MTD
+ for fixing a compiler warning in ExchangeChars()
+ for suggesting to add __attribute__((packed)) to tIndexPes and tIndexTs
+
+Ulrich Eckhardt <uli@uli-eckhardt.de>
+ for reporting a problem with shutdown after user inactivity in case a plugin is
+ keeping the OSD open
+
+Stian B. Barmen <stian@barmen.nu>
+ for reporting missing EPG data on channels from Canal Digital Norway
diff --git a/HISTORY b/HISTORY
index d477dd5..143138e 100644
--- a/HISTORY
+++ b/HISTORY
@@ -9347,3 +9347,75 @@ Video Disk Recorder Revision History
- Fixed a high CPU load during replay with active progress display (reported by Matthias
Senzel).
- Official release.
+
+2019-06-17: Version 2.4.1
+
+- Fixed handling the tfRecording flag in the SVDRP commands MODT and UPDT (reported
+ by Johann Friedrichs).
+- Fixed a possible invalid locking sequence in case a remote timer handling error message
+ is displayed on the OSD and the skin tries to lock the Recordings or DeletedRecordings
+ list in its Flush() function (for instance by calling cVideoDiskUsage::HasChanged()).
+ To do this, the call to Skins.Message() in menu.c's HandleRemoteModifications() has
+ been changed to Skins.QueueMessage(), and cSkins::ProcessQueuedMessages() is now called
+ unconditionally in the main loop, and checks whether the current cSkinDisplay object
+ (if any) implements SetMessage().
+- Fixed locking the Channels list in cDisplayChannel, where the lock was still held
+ when Flush() was called (reported by Matthias Senzel and Uwe Scheffler).
+- Fixed shutdown after user inactivity in case a plugin is keeping the OSD open
+ (reported by Ulrich Eckhardt).
+- Fixed switching through encrypted channels with the Up/Down keys (thanks to Helmut
+ Binder).
+- Now deactivating MTD support if a non MCD capable CAM is inserted after removing
+ a previously used CAM that is MCD capable (thanks to Helmut Binder).
+- Added support for DVB devices with more than one frontend that all use the same
+ dvr and demux. Note that in order for this to work, you must not set symbolic
+ links like "demux1 -> demux0" and "dvr1 -> dvr0", as is mentioned in some user
+ manuals of multi frontend DVB cards.
+- Reverted the change "The EIT filter no longer parses data from "other TS"...". It led to
+ missing EPG data on channels from Canal Digital Norway (reported by Stian B. Barmen).
+- Fixed accessing the actual frontend on multi frontend devices (thanks to Helmut Binder).
+- Fixed opening the UDP port in peerdemo (thanks to Robert Hannebauer).
+- Fixed handling PATs that contain no PMTs.
+- Fixed processing the last entry in the scan list of the EIT scanner (thanks to
+ Helmut Binder).
+- Fixed processing transponder data in the NIT (thanks to Helmut Binder).
+- Fixed triggering the SDT filter when parsing the NIT (thanks to Helmut Binder).
+- Added support for EAC3 audio from other sources (thanks to Jrgen Schneider).
+- No longer logging tuning timeouts for transponders that are announced in the NIT but
+ are not currently broadcasting.
+- Fixed processing SI::T2DeliverySystemDescriptor when typecasting it over an
+ SI::ExtensionDescriptor (reported by Helmut Binder).
+- Fixed sorting recordings alphabetically.
+- Fixed dropping capabilities in case cap_sys_time is not available.
+- Fixed updating the cursor position when switching channels with the Channel+/- keys
+ while the Channels menu is open.
+- Fixed handling shared CA pids (thanks to Onur Sentrk).
+- Now touching the .update file in the video directory after removing deleted
+ recordings, so that other VDRs that use the same video directory will update their
+ list of (deleted) recordings and thus won't display too much empty disk space.
+- Fixed the install target in case of multiple jobs (thanks to Chris Mayo).
+- Fixed mapping SIDs in MTD (thanks to Helmut Binder).
+- Fixed updating the checksum in the CA table after mapping EMM PIDs for MTD (thanks to
+ Helmut Binder).
+- Fixed a compiler warning in ExchangeChars() (thanks to Helmut Binder).
+- Fixed a compiler warning and a possible buffer overflow in cCiMMI::SendAnswer().
+- Fixed a possible invalid lock sequence if the main menu is open and the user
+ switches to a channel that is currently not available, using the Channel+/- keys.
+- Fixed handling remote timers in case the response to LSTT is '550 No timers defined'.
+- Fixed a compiler warning in cIndexFile::ConvertToPes() and added __attribute__((packed))
+ to tIndexPes and tIndexTs (suggested by Helmut Binder).
+- Fixed handling repeat function for keyboards.
+- Added a workaround for broadcasters who set an event to status "not running" where
+ this is inappropriate; implicitly setting events to "not running" is now also logged.
+- Fixed asserting free disk space in case there is no local timer currently recording.
+- The default maximum size of a cPixmap has been raised to the maximum possible value.
+- Increased PLAYERBUFSIZE to (MAXFRAMESIZE * 5) to avoid stuttering replay under heavy
+ system load, and to better document that this buffer size is related to the maximum
+ frame size.
+- Fixed inconsistent behavior in case only certain devices are used (selected by the '-D'
+ option).
+- Fixed a wrong variable name in cFileName::cFileName().
+- If cSkins::Message() is called from a background thread and Type is not mtStatus,
+ the call is now automatically forwarded to QueueMessage().
+- Fixed handling the S2SatelliteDeliverySystemDescriptor for transponders broadcasting
+ in "backwards compatibility mode" according to ETSI EN 300 468 (thanks to Onur Sentrk).
diff --git a/Makefile b/Makefile
index a13214a..a98bf0b 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
-# $Id: Makefile 4.5 2017/05/29 08:48:42 kls Exp $
+# $Id: Makefile 4.5.1.1 2019/05/05 13:37:38 kls Exp $
.DELETE_ON_ERROR:
@@ -271,7 +271,7 @@ clean-plugins: vdr.pc
# Install the files (note that 'install-pc' must be first!):
-install: install-pc install-bin install-dirs install-conf install-doc install-plugins install-i18n install-includes
+install: install-pc install-bin install-conf install-doc install-plugins install-i18n install-includes
# VDR binary:
@@ -288,7 +288,7 @@ install-dirs:
@mkdir -p $(DESTDIR)$(CACHEDIR)
@mkdir -p $(DESTDIR)$(RESDIR)
-install-conf:
+install-conf: install-dirs
@cp -pn *.conf $(DESTDIR)$(CONFDIR)
# Documentation:
diff --git a/PLUGINS/src/skincurses/HISTORY b/PLUGINS/src/skincurses/HISTORY
index 287653f..cab8355 100644
--- a/PLUGINS/src/skincurses/HISTORY
+++ b/PLUGINS/src/skincurses/HISTORY
@@ -141,3 +141,7 @@ VDR Plugin 'skincurses' Revision History
2018-04-15: Version 2.4.0
- Official release.
+
+2019-03-12: Version 2.4.1
+
+- Changes for ncurses version 6 (thanks to Ulrick Eckhardt).
diff --git a/PLUGINS/src/skincurses/skincurses.c b/PLUGINS/src/skincurses/skincurses.c
index 6803a26..8ef400e 100644
--- a/PLUGINS/src/skincurses/skincurses.c
+++ b/PLUGINS/src/skincurses/skincurses.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: skincurses.c 4.3 2018/04/10 13:01:00 kls Exp $
+ * $Id: skincurses.c 4.3.1.1 2019/03/12 12:28:04 kls Exp $
*/
#include <ncurses.h>
diff --git a/ci.c b/ci.c
index 44f4b01..26a056d 100644
--- a/ci.c
+++ b/ci.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: ci.c 4.21 2018/03/19 16:37:03 kls Exp $
+ * $Id: ci.c 4.21.1.5 2019/05/28 15:55:44 kls Exp $
*/
#include "ci.h"
@@ -2549,7 +2549,7 @@ void cCamSlot::KeepSharedCaPids(int ProgramNumber, const int *CaSystemIds, int *
return;
int CaPids2[MAXRECEIVEPIDS + 1];
for (cCiCaProgramData *p = caProgramList.First(); p; p = caProgramList.Next(p)) {
- if (p->programNumber != ProgramNumber) {
+ if (p->programNumber != ProgramNumber) {
if (GetCaPids(source, transponder, p->programNumber, CaSystemIds, MAXRECEIVEPIDS + 1, CaPids2) > 0) {
int *pCaPids2 = CaPids2;
while (*pCaPids2) {
diff --git a/ci.h b/ci.h
index 3ce1fa0..ec97b7c 100644
--- a/ci.h
+++ b/ci.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: ci.h 4.12 2018/03/17 12:17:37 kls Exp $
+ * $Id: ci.h 4.12.1.2 2019/05/28 15:55:44 kls Exp $
*/
#ifndef __CI_H
diff --git a/config.h b/config.h
index 8c09209..043c1ee 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 4.15 2018/03/19 15:06:46 kls Exp $
+ * $Id: config.h 4.15.1.1 2019/06/16 09:13:45 kls Exp $
*/
#ifndef __CONFIG_H
@@ -22,13 +22,13 @@
// VDR's own version number:
-#define VDRVERSION "2.4.0"
-#define VDRVERSNUM 20400 // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION "2.4.1"
+#define VDRVERSNUM 20401 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
-#define APIVERSION "2.4.0"
-#define APIVERSNUM 20400 // Version * 10000 + Major * 100 + Minor
+#define APIVERSION "2.4.1"
+#define APIVERSNUM 20401 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to
diff --git a/device.c b/device.c
index 7d1827c..da37d0c 100644
--- a/device.c
+++ b/device.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.c 4.27 2018/03/24 09:49:14 kls Exp $
+ * $Id: device.c 4.27.1.3 2019/05/28 15:55:44 kls Exp $
*/
#include "device.h"
diff --git a/device.h b/device.h
index 20e9427..91127de 100644
--- a/device.h
+++ b/device.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.h 4.12 2017/11/02 14:47:33 kls Exp $
+ * $Id: device.h 4.12.1.1 2019/05/28 15:55:44 kls Exp $
*/
#ifndef __DEVICE_H
diff --git a/dvbdevice.c b/dvbdevice.c
index 6978278..69e7fe8 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.c 4.16 2018/02/15 15:37:01 kls Exp $
+ * $Id: dvbdevice.c 4.16.1.4 2019/05/28 15:55:44 kls Exp $
*/
#include "dvbdevice.h"
diff --git a/dvbdevice.h b/dvbdevice.h
index ddac5ed..2ccf8b5 100644
--- a/dvbdevice.h
+++ b/dvbdevice.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.h 4.4 2017/05/09 11:24:47 kls Exp $
+ * $Id: dvbdevice.h 4.4.1.2 2019/03/10 12:18:02 kls Exp $
*/
#ifndef __DVBDEVICE_H
diff --git a/dvbplayer.c b/dvbplayer.c
index 0bf43d0..5bc6715 100644
--- a/dvbplayer.c
+++ b/dvbplayer.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbplayer.c 4.5 2017/11/26 14:55:03 kls Exp $
+ * $Id: dvbplayer.c 4.5.1.1 2019/05/28 09:27:32 kls Exp $
*/
#include "dvbplayer.h"
diff --git a/eit.c b/eit.c
index b88cc1b..50d8229 100644
--- a/eit.c
+++ b/eit.c
@@ -8,7 +8,7 @@
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
*
- * $Id: eit.c 4.5 2018/03/31 13:40:32 kls Exp $
+ * $Id: eit.c 4.5.1.2 2019/05/21 21:25:00 kls Exp $
*/
#include "eit.h"
diff --git a/eitscan.c b/eitscan.c
index aae732f..c17781c 100644
--- a/eitscan.c
+++ b/eitscan.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: eitscan.c 4.2 2015/09/10 11:05:03 kls Exp $
+ * $Id: eitscan.c 4.2.1.1 2019/03/12 11:54:27 kls Exp $
*/
#include "eitscan.h"
diff --git a/epg.c b/epg.c
index 65d781b..ee24935 100644
--- a/epg.c
+++ b/epg.c
@@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
- * $Id: epg.c 4.8 2017/05/28 13:08:09 kls Exp $
+ * $Id: epg.c 4.8.1.1 2019/05/21 21:25:00 kls Exp $
*/
#include "epg.h"
diff --git a/libsi/descriptor.c b/libsi/descriptor.c
index 6705797..7a304ec 100644
--- a/libsi/descriptor.c
+++ b/libsi/descriptor.c
@@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
- * $Id: descriptor.c 4.0 2013/10/30 10:16:18 kls Exp $
+ * $Id: descriptor.c 4.0.1.1 2019/03/15 22:38:36 kls Exp $
* *
***************************************************************************/
diff --git a/libsi/descriptor.h b/libsi/descriptor.h
index c3aeaed..3eb2a17 100644
--- a/libsi/descriptor.h
+++ b/libsi/descriptor.h
@@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
- * $Id: descriptor.h 4.0 2014/02/08 12:44:17 kls Exp $
+ * $Id: descriptor.h 4.0.1.1 2019/03/15 22:38:36 kls Exp $
* *
***************************************************************************/
diff --git a/menu.c b/menu.c
index b3488bb..6f5e92d 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 4.74 2018/04/14 10:24:41 kls Exp $
+ * $Id: menu.c 4.74.1.6 2019/05/28 15:55:44 kls Exp $
*/
#include "menu.h"
diff --git a/mtd.c b/mtd.c
index 25f9c14..c3dae73 100644
--- a/mtd.c
+++ b/mtd.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: mtd.c 1.12 2017/10/31 12:16:39 kls Exp $
+ * $Id: mtd.c 1.12.1.2 2019/05/28 15:55:44 kls Exp $
*/
#include "mtd.h"
diff --git a/mtd.h b/mtd.h
index 59139c7..c1d1cb6 100644
--- a/mtd.h
+++ b/mtd.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: mtd.h 1.8 2017/05/01 09:19:21 kls Exp $
+ * $Id: mtd.h 1.8.1.1 2019/05/28 15:55:44 kls Exp $
*/
#ifndef __MTD_H
diff --git a/nit.c b/nit.c
index 48724da..98f225b 100644
--- a/nit.c
+++ b/nit.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: nit.c 4.5 2018/03/18 10:52:21 kls Exp $
+ * $Id: nit.c 4.5.1.4 2019/05/31 21:47:02 kls Exp $
*/
#include "nit.h"
diff --git a/osd.c b/osd.c
index 30f9e8b..0b85fb2 100644
--- a/osd.c
+++ b/osd.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.c 4.5 2018/04/06 08:43:15 kls Exp $
+ * $Id: osd.c 4.5.1.1 2019/05/24 21:30:20 kls Exp $
*/
#include "osd.h"
diff --git a/osd.h b/osd.h
index 3b9aba6..1026721 100644
--- a/osd.h
+++ b/osd.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.h 4.5 2017/11/02 14:59:19 kls Exp $
+ * $Id: osd.h 4.5.1.1 2019/05/24 21:30:20 kls Exp $
*/
#ifndef __OSD_H
diff --git a/pat.c b/pat.c
index ec676a2..40a3b3d 100644
--- a/pat.c
+++ b/pat.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: pat.c 4.3 2016/12/23 14:02:07 kls Exp $
+ * $Id: pat.c 4.3.1.2 2019/03/15 13:13:40 kls Exp $
*/
#include "pat.h"
diff --git a/recording.c b/recording.c
index 166414c..e493b57 100644
--- a/recording.c
+++ b/recording.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.c 4.22 2018/03/17 10:56:13 kls Exp $
+ * $Id: recording.c 4.22.1.4 2019/05/29 14:25:51 kls Exp $
*/
#include "recording.h"
@@ -99,27 +99,33 @@ void cRemoveDeletedRecordingsThread::Action(void)
if (LockFile.Lock()) {
time_t StartTime = time(NULL);
bool deleted = false;
+ bool interrupted = false;
LOCK_DELETEDRECORDINGS_WRITE;
for (cRecording *r = DeletedRecordings->First(); r; ) {
if (cIoThrottle::Engaged())
- return;
- if (time(NULL) - StartTime > MAXREMOVETIME)
- return; // don't stay here too long
- if (cRemote::HasKeys())
- return; // react immediately on user input
+ interrupted = true;
+ else if (time(NULL) - StartTime > MAXREMOVETIME)
+ interrupted = true; // don't stay here too long
+ else if (cRemote::HasKeys())
+ interrupted = true; // react immediately on user input
+ if (interrupted)
+ break;
if (r->Deleted() && time(NULL) - r->Deleted() > DELETEDLIFETIME) {
cRecording *next = DeletedRecordings->Next(r);
r->Remove();
DeletedRecordings->Del(r);
r = next;
deleted = true;
- continue;
}
- r = DeletedRecordings->Next(r);
+ else
+ r = DeletedRecordings->Next(r);
}
if (deleted) {
- const char *IgnoreFiles[] = { SORTMODEFILE, TIMERRECFILE, NULL };
- cVideoDirectory::RemoveEmptyVideoDirectories(IgnoreFiles);
+ cRecordings::TouchUpdate();
+ if (!interrupted) {
+ const char *IgnoreFiles[] = { SORTMODEFILE, TIMERRECFILE, NULL };
+ cVideoDirectory::RemoveEmptyVideoDirectories(IgnoreFiles);
+ }
}
}
}
diff --git a/remote.c b/remote.c
index df96d51..cc14492 100644
--- a/remote.c
+++ b/remote.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: remote.c 4.0 2015/01/20 14:53:57 kls Exp $
+ * $Id: remote.c 4.0.1.1 2019/05/13 14:01:21 kls Exp $
*/
#include "remote.h"
diff --git a/remux.c b/remux.c
index 1b530c1..6322dc8 100644
--- a/remux.c
+++ b/remux.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: remux.c 4.7 2017/04/29 12:25:09 kls Exp $
+ * $Id: remux.c 4.7.1.1 2019/03/15 13:13:40 kls Exp $
*/
#include "remux.h"
diff --git a/sections.c b/sections.c
index 4b2977f..048d4f4 100644
--- a/sections.c
+++ b/sections.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: sections.c 4.0 2015/01/14 11:35:53 kls Exp $
+ * $Id: sections.c 4.0.1.1 2019/05/28 15:55:44 kls Exp $
*/
#include "sections.h"
diff --git a/skins.c b/skins.c
index e7cfb27..e09b1f2 100644
--- a/skins.c
+++ b/skins.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: skins.c 4.0 2013/08/18 12:07:22 kls Exp $
+ * $Id: skins.c 4.0.1.2 2019/05/29 16:49:48 kls Exp $
*/
#include "skins.h"
diff --git a/skins.h b/skins.h
index 0754ce5..d7cab99 100644
--- a/skins.h
+++ b/skins.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: skins.h 4.5 2017/11/02 15:04:56 kls Exp $
+ * $Id: skins.h 4.5.1.1 2019/05/29 16:49:48 kls Exp $
*/
#ifndef __SKINS_H
diff --git a/svdrp.c b/svdrp.c
index 205b53c..ee036d3 100644
--- a/svdrp.c
+++ b/svdrp.c
@@ -10,7 +10,7 @@
* and interact with the Video Disk Recorder - or write a full featured
* graphical interface that sits on top of an SVDRP connection.
*
- * $Id: svdrp.c 4.37 2018/03/19 12:16:33 kls Exp $
+ * $Id: svdrp.c 4.37.1.2 2019/05/06 15:20:40 kls Exp $
*/
#include "svdrp.h"
diff --git a/timers.c b/timers.c
index cf700d7..005a922 100644
--- a/timers.c
+++ b/timers.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: timers.c 4.18 2018/03/17 10:07:19 kls Exp $
+ * $Id: timers.c 4.18.1.1 2019/05/23 10:02:45 kls Exp $
*/
#include "timers.h"
diff --git a/timers.h b/timers.h
index ef8c927..c0385b0 100644
--- a/timers.h
+++ b/timers.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: timers.h 4.11 2018/02/27 13:57:26 kls Exp $
+ * $Id: timers.h 4.11.1.1 2019/05/23 10:02:45 kls Exp $
*/
#ifndef __TIMERS_H
diff --git a/vdr.c b/vdr.c
index 1e069a4..2876bda 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.tvdr.de
*
- * $Id: vdr.c 4.25 2018/04/10 13:24:43 kls Exp $
+ * $Id: vdr.c 4.25.1.5 2019/05/23 10:02:45 kls Exp $
*/
#include <getopt.h>
@@ -1555,13 +1555,13 @@ int main(int argc, char *argv[])
}
// Handle housekeeping tasks
if ((Now - LastInteract) > ACTIVITYTIMEOUT) {
- // Disk housekeeping:
- RemoveDeletedRecordings();
- ListGarbageCollector.Purge();
- cSchedules::Cleanup();
- // Plugins housekeeping:
- PluginManager.Housekeeping();
- }
+ // Disk housekeeping:
+ RemoveDeletedRecordings();
+ ListGarbageCollector.Purge();
+ cSchedules::Cleanup();
+ // Plugins housekeeping:
+ PluginManager.Housekeeping();
+ }
}
ReportEpgBugFixStats();