summaryrefslogtreecommitdiff
path: root/vdr.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2008-09-06 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2008-09-06 18:00:00 +0200
commitc848ab793a302dc067663ec4a06395745e443c9d (patch)
treea6c65facbf68864b9523152560a4ae23a6ad2f16 /vdr.c
parent771986b89fc19b4ae65179ccf7dd8082512f8b7d (diff)
downloadvdr-patch-lnbsharing-c848ab793a302dc067663ec4a06395745e443c9d.tar.gz
vdr-patch-lnbsharing-c848ab793a302dc067663ec4a06395745e443c9d.tar.bz2
Version 1.7.1vdr-1.7.1
- Adapted the tuning code to the new DVBFE_SET_DELSYS API (thanks to Reinhard Nissl). VDR now uses the driver from http://jusst.de/hg/multiproto_plus. - Updated the Italian OSD texts (thanks to Diego Pierotto). - Removed obsolete $(NCURSESLIB) from the Makefile. - Implemented handling the standard component descriptor for AC3 (stream=4), as it will soon be used by the German ARD channels (thanks to Michael Pennewiß for advance information about this change). The previously used "Premiere pseudo standard" (stream=2, type=5) still works, but has apparently been wrongfully used by broadcasters from the beginning. - Added missing description of the 'S' channel parameter to vdr.5 (reported by Reinhard Nissl). - The SVDRP signon message now indicates the character encoding in use, as in "220 video SVDRP VideoDiskRecorder 1.7.1; Fri May 2 16:17:10 2008; ISO-8859-1". This may be useful for instance for external tools that provide EPG data, so that they can correctly encode the strings. - No longer calling FcFini() to avoid problems with older (broken) versions of fontconfig (suggested by Edgar Toernig). - Removed the compile time option VFAT to allow users of precompiled binary distributions to have full control over whether or not to use the --vfat option at runtime (suggested by Michael Nork). - First step towards switching to TS (Transport Stream) as recording format: + The new function cDevice::PlayTs() is used to play TS packets. + The new functions cDevice::PlayTsVideo() and cDevice::PlayTsAudio() are used to play video and audio TS packets, respectively. + The new function cAudio::PlayTs() is used to play audio TS packets. + The new class cPatPmtGenerator is used to generate a PAT/PMT pair that precedes the TS data in Transfer Mode. + The new class cPatPmtParser is used by cDevice to parse the PAT/PMT data in a TS in order to find out which streams it contains. + The new class cTsToPes is used to convert TS packets to a PES packet. + cTransfer no longer uses cRemux, and doesn't run a separate thread any more. It just generates a PAT/PMT and sends all received TS packets to the primary device's PlayTs(). + Live subtitle display no longer uses a ring buffer and separate thread. + cPesAssembler has been removed. Old VDR recordings only contain complete PES packets. + Since a TS needs to have a PAT/PMT, which requires the video stream type to be explicitly given, the format of the VPID field in the channels.conf file and the SVDRP commands NEWC/MODC/LSTC has been extended. The video stream type now follows the VPID and optional PPID, separated by an '=' sign. - Updated the sources.conf file (thanks to Oleg Roitburd). - Fixed a possible integer overflow in GetAbsTime() (thanks to Alexander Rieger). - Fixed a problem with calling isyslog() from within the SignalHandler() (thanks to Udo Richter). - Replaced the Finnish language code "smi" with "suo" (thanks to Rolf Ahrenberg). - Fixed wrong value for TableIdBAT in libsi/si.h (thanks to Winfried Köhler). - Errors in config files no longer keep VDR from starting. - Removed unneeded include files <linux/dvb/dmx.h> und <time.h> from remux.h (reported by Tobias Grimm).
Diffstat (limited to 'vdr.c')
-rw-r--r--vdr.c30
1 files changed, 13 insertions, 17 deletions
diff --git a/vdr.c b/vdr.c
index aafb0e6..fa36b88 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/vdr
*
- * $Id: vdr.c 2.0 2008/03/14 13:22:39 kls Exp $
+ * $Id: vdr.c 2.3 2008/09/06 14:08:44 kls Exp $
*/
#include <getopt.h>
@@ -141,7 +141,6 @@ static bool SetKeepCaps(bool On)
static void SignalHandler(int signum)
{
- isyslog("caught signal %d", signum);
switch (signum) {
case SIGPIPE:
break;
@@ -210,9 +209,6 @@ int main(int argc, char *argv[])
#elif defined(REMOTE_RCU)
RcuDevice = RCU_DEVICE;
#endif
-#if defined(VFAT)
- VfatFileSystem = true;
-#endif
#if defined(VDR_USER)
VdrUser = VDR_USER;
#endif
@@ -563,17 +559,15 @@ int main(int argc, char *argv[])
cThemes::SetThemesDirectory(AddDirectory(ConfigDirectory, "themes"));
Setup.Load(AddDirectory(ConfigDirectory, "setup.conf"));
- if (!(Sources.Load(AddDirectory(ConfigDirectory, "sources.conf"), true, true) &&
- Diseqcs.Load(AddDirectory(ConfigDirectory, "diseqc.conf"), true, Setup.DiSEqC) &&
- Channels.Load(AddDirectory(ConfigDirectory, "channels.conf"), false, true) &&
- Timers.Load(AddDirectory(ConfigDirectory, "timers.conf")) &&
- Commands.Load(AddDirectory(ConfigDirectory, "commands.conf"), true) &&
- RecordingCommands.Load(AddDirectory(ConfigDirectory, "reccmds.conf"), true) &&
- SVDRPhosts.Load(AddDirectory(ConfigDirectory, "svdrphosts.conf"), true) &&
- Keys.Load(AddDirectory(ConfigDirectory, "remote.conf")) &&
- KeyMacros.Load(AddDirectory(ConfigDirectory, "keymacros.conf"), true)
- ))
- EXIT(2);
+ Sources.Load(AddDirectory(ConfigDirectory, "sources.conf"), true, true);
+ Diseqcs.Load(AddDirectory(ConfigDirectory, "diseqc.conf"), true, Setup.DiSEqC);
+ Channels.Load(AddDirectory(ConfigDirectory, "channels.conf"), false, true);
+ Timers.Load(AddDirectory(ConfigDirectory, "timers.conf"));
+ Commands.Load(AddDirectory(ConfigDirectory, "commands.conf"), true);
+ RecordingCommands.Load(AddDirectory(ConfigDirectory, "reccmds.conf"), true);
+ SVDRPhosts.Load(AddDirectory(ConfigDirectory, "svdrphosts.conf"), true);
+ Keys.Load(AddDirectory(ConfigDirectory, "remote.conf"));
+ KeyMacros.Load(AddDirectory(ConfigDirectory, "keymacros.conf"), true);
if (!*cFont::GetFontFileName(Setup.FontOsd)) {
const char *msg = "no fonts available - OSD will not show any text!";
@@ -1288,9 +1282,11 @@ Exit:
ReportEpgBugFixStats();
if (WatchdogTimeout > 0)
dsyslog("max. latency time %d seconds", MaxLatencyTime);
- isyslog("exiting, exit code %d", ShutdownHandler.GetExitCode());
+ if (LastSignal)
+ isyslog("caught signal %d", LastSignal);
if (ShutdownHandler.EmergencyExitRequested())
esyslog("emergency exit!");
+ isyslog("exiting, exit code %d", ShutdownHandler.GetExitCode());
if (SysLogLevel > 0)
closelog();
if (HasStdin)