Compare commits

...

6 Commits

Author SHA1 Message Date
Klaus Schmidinger
178f2cacf9 Official release of version 2.4.7 2021-04-21 13:51:28 +02:00
Klaus Schmidinger
c276c6883d Fixed initializing the cChannel::schedule pointer after reading EPG data with PUTE 2021-01-04 14:58:59 +01:00
Klaus Schmidinger
163945045d Fixed handling $(PKG_CONFIG) in newplugin 2021-01-02 15:22:42 +01:00
Klaus Schmidinger
5f1e08f606 Fixed a crash in the SVDRP command CLRE in case a non-existing channel number is given 2021-01-02 15:18:06 +01:00
Klaus Schmidinger
9f4c5cd785 The Makefile now makes sure the 'x' bit of Doxyfile.filter is set before calling doxygen 2021-01-02 15:11:20 +01:00
Klaus Schmidinger
3211df30df Fixed strreplace() to handle NULL strings 2021-01-02 15:05:48 +01:00
8 changed files with 43 additions and 14 deletions

View File

@ -2773,6 +2773,7 @@ Winfried K
for adding initialization of cDvbFrontend::frontendInfo for adding initialization of cDvbFrontend::frontendInfo
for improving handling missing VDRPluginDestroyer() for improving handling missing VDRPluginDestroyer()
for fixing a compiler warning for fixing a compiler warning
for fixing handling $(PKG_CONFIG) in newplugin
Hans-Werner Hilse <hilse@web.de> Hans-Werner Hilse <hilse@web.de>
for adding the command line option --userdump to enable core dumps in case VDR for adding the command line option --userdump to enable core dumps in case VDR
@ -2938,6 +2939,10 @@ Manuel Reimer <Manuel.Reimer@gmx.de>
for reporting a bug in moving channels between number groups in SVDRP's MOVC command for reporting a bug in moving channels between number groups in SVDRP's MOVC command
for fixing compatibility with current versions of glibc for fixing compatibility with current versions of glibc
for suggesting to make the SVDRP command DELC accept a channel id for suggesting to make the SVDRP command DELC accept a channel id
for reporting a crash in the SVDRP command CLRE in case a non-existing channel
number is given
for reporting that LSTE doesn't work after PUTE in case a channel didn't already
have EPG data
Rene van den Braken <rene@vandenbraken.name> Rene van den Braken <rene@vandenbraken.name>
for reporting a bug in writing the PCR pid into the PMT in for reporting a bug in writing the PCR pid into the PMT in
@ -3655,6 +3660,8 @@ J
for reporting a possible discrepancy of the primary device number in the LSTD and for reporting a possible discrepancy of the primary device number in the LSTD and
PRIM commands PRIM commands
for adding support for EAC3 audio from other sources for adding support for EAC3 audio from other sources
for reporting a crash if a pattern timer spawns a timer that uses EPISODE and the
event has no short text
Stefan Verse <Verse@amotronics.de> Stefan Verse <Verse@amotronics.de>
for fixing an occasional black screen when switching channels for fixing an occasional black screen when switching channels

12
HISTORY
View File

@ -9562,3 +9562,15 @@ Video Disk Recorder Revision History
- Fixed a compiler warning (thanks to Winfried Köhler). - Fixed a compiler warning (thanks to Winfried Köhler).
- Fixed convertCharacterTable() in case iconv_open() fails (thanks to Helmut Binder). - Fixed convertCharacterTable() in case iconv_open() fails (thanks to Helmut Binder).
- Official release. - Official release.
2021-04-21: Version 2.4.7
- Fixed strreplace() to handle NULL strings (reported by Jürgen Schneider).
- Somewhere down the road the 'x' bit of Doxyfile.filter got lost, so the
Makefile now makes sure it is set before calling doxygen.
- Fixed a crash in the SVDRP command CLRE in case a non-existing channel number is
given (reported by Manuel Reimer).
- Fixed handling $(PKG_CONFIG) in newplugin (thanks to Winfried Köhler).
- Fixed initializing the cChannel::schedule pointer after reading EPG data with PUTE
(reported by Manuel Reimer).
- Official release.

View File

@ -4,7 +4,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # how to reach the author.
# #
# $Id: Makefile 4.10 2020/06/27 09:13:04 kls Exp $ # $Id: Makefile 4.10.1.1 2021/01/02 15:11:20 kls Exp $
.DELETE_ON_ERROR: .DELETE_ON_ERROR:
@ -342,6 +342,7 @@ install-pc: vdr.pc
srcdoc: srcdoc:
@cat $(DOXYFILE) > $(DOXYFILE).tmp @cat $(DOXYFILE) > $(DOXYFILE).tmp
@echo PROJECT_NUMBER = $(VDRVERSION) >> $(DOXYFILE).tmp @echo PROJECT_NUMBER = $(VDRVERSION) >> $(DOXYFILE).tmp
@chmod +x $(DOXYFILE).filter
$(DOXYGEN) $(DOXYFILE).tmp $(DOXYGEN) $(DOXYFILE).tmp
@rm $(DOXYFILE).tmp @rm $(DOXYFILE).tmp

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: config.h 4.21 2020/12/22 17:23:51 kls Exp $ * $Id: config.h 4.21.1.1 2021/04/21 13:51:28 kls Exp $
*/ */
#ifndef __CONFIG_H #ifndef __CONFIG_H
@ -22,13 +22,13 @@
// VDR's own version number: // VDR's own version number:
#define VDRVERSION "2.4.6" #define VDRVERSION "2.4.7"
#define VDRVERSNUM 20406 // Version * 10000 + Major * 100 + Minor #define VDRVERSNUM 20407 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number: // The plugin API's version number:
#define APIVERSION "2.4.6" #define APIVERSION "2.4.7"
#define APIVERSNUM 20406 // Version * 10000 + Major * 100 + Minor #define APIVERSNUM 20407 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which // When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to // may be smaller than VDRVERSION in case there have been no changes to

9
epg.c
View File

@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by * Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>. * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* *
* $Id: epg.c 4.9 2019/05/20 09:55:22 kls Exp $ * $Id: epg.c 4.9.1.1 2021/01/04 14:58:58 kls Exp $
*/ */
#include "epg.h" #include "epg.h"
@ -1311,8 +1311,13 @@ bool cSchedules::Read(FILE *f)
fclose(f); fclose(f);
if (result) { if (result) {
// Initialize the channels' schedule pointers, so that the first WhatsOn menu will come up faster: // Initialize the channels' schedule pointers, so that the first WhatsOn menu will come up faster:
for (cChannel *Channel = Channels->First(); Channel; Channel = Channels->Next(Channel)) for (cChannel *Channel = Channels->First(); Channel; Channel = Channels->Next(Channel)) {
if (const cSchedule *Schedule = Channel->schedule) {
if (!Schedule->ChannelID().Valid()) // this is the DummySchedule
Channel->schedule = NULL;
}
Schedules->GetSchedule(Channel); Schedules->GetSchedule(Channel);
}
} }
return result; return result;
} }

View File

@ -12,7 +12,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # how to reach the author.
# #
# $Id: newplugin 4.4 2020/06/22 15:08:46 kls Exp $ # $Id: newplugin 4.4.1.1 2021/01/02 15:22:42 kls Exp $
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n"; $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
@ -76,7 +76,7 @@ VERSION = \$(shell grep 'static const char \\*VERSION *=' \$(PLUGIN).c | awk '{
# Use package data if installed...otherwise assume we're under the VDR source directory: # Use package data if installed...otherwise assume we're under the VDR source directory:
PKG_CONFIG ?= pkg-config PKG_CONFIG ?= pkg-config
PKGCFG = \$(if \$(VDRDIR),\$(shell $(PKG_CONFIG) --variable=\$(1) \$(VDRDIR)/vdr.pc),\$(shell PKG_CONFIG_PATH="\$\$PKG_CONFIG_PATH:../../.." $(PKG_CONFIG) --variable=\$(1) vdr)) PKGCFG = \$(if \$(VDRDIR),\$(shell \$(PKG_CONFIG) --variable=\$(1) \$(VDRDIR)/vdr.pc),\$(shell PKG_CONFIG_PATH="\$\$PKG_CONFIG_PATH:../../.." \$(PKG_CONFIG) --variable=\$(1) vdr))
LIBDIR = \$(call PKGCFG,libdir) LIBDIR = \$(call PKGCFG,libdir)
LOCDIR = \$(call PKGCFG,locdir) LOCDIR = \$(call PKGCFG,locdir)
PLGCFG = \$(call PKGCFG,plgcfg) PLGCFG = \$(call PKGCFG,plgcfg)

View File

@ -10,7 +10,7 @@
* and interact with the Video Disk Recorder - or write a full featured * and interact with the Video Disk Recorder - or write a full featured
* graphical interface that sits on top of an SVDRP connection. * graphical interface that sits on top of an SVDRP connection.
* *
* $Id: svdrp.c 4.43 2020/06/22 20:59:49 kls Exp $ * $Id: svdrp.c 4.43.1.1 2021/01/02 15:18:06 kls Exp $
*/ */
#include "svdrp.h" #include "svdrp.h"
@ -1301,8 +1301,10 @@ void cSVDRPServer::CmdCLRE(const char *Option)
tChannelID ChannelID = tChannelID::InvalidID; tChannelID ChannelID = tChannelID::InvalidID;
if (isnumber(Option)) { if (isnumber(Option)) {
int o = strtol(Option, NULL, 10); int o = strtol(Option, NULL, 10);
if (o >= 1 && o <= cChannels::MaxNumber()) if (o >= 1 && o <= cChannels::MaxNumber()) {
ChannelID = Channels->GetByNumber(o)->GetChannelID(); if (const cChannel *Channel = Channels->GetByNumber(o))
ChannelID = Channel->GetChannelID();
}
} }
else { else {
ChannelID = tChannelID::FromString(Option); ChannelID = tChannelID::FromString(Option);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: tools.c 4.13 2020/11/22 13:32:05 kls Exp $ * $Id: tools.c 4.13.1.1 2021/01/02 15:05:48 kls Exp $
*/ */
#include "tools.h" #include "tools.h"
@ -151,6 +151,8 @@ char *strreplace(char *s, char c1, char c2)
char *strreplace(char *s, const char *s1, const char *s2) char *strreplace(char *s, const char *s1, const char *s2)
{ {
if (!s || !s1 || !s2)
return s;
char *p = strstr(s, s1); char *p = strstr(s, s1);
if (p) { if (p) {
int of = p - s; int of = p - s;