diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-08-07 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-08-07 18:00:00 +0200 |
commit | 4c5de2888331fb4372eba0b0f4364fd9a0197b17 (patch) | |
tree | fbacaa13bb20870db03ad49516713c3f00ec3b0e /vdr.c | |
parent | fef3aa3a7fff0e3b4745532a6b1a157b45cb9643 (diff) | |
download | vdr-patch-lnbsharing-4c5de2888331fb4372eba0b0f4364fd9a0197b17.tar.gz vdr-patch-lnbsharing-4c5de2888331fb4372eba0b0f4364fd9a0197b17.tar.bz2 |
Version 1.3.28vdr-1.3.28
- Added a sleep in cDvbPlayer::Action() in case there is no data to send to the
device, which avoids a busy loop on very fast machines (thanks to Martin Wache).
- Modified the description of cDevice::Poll() to avoid misunderstandings.
- Updated Croatian language texts (thanks to Drazen Dupor).
- cDvbPlayer::Goto() now appends a Sequence End Code to get the image shown
immediately with softdevices (thanks to Reinhard Nissl).
- Reactivated cVideoRepacker in remux.c after some fixes (thanks to Reinhard Nissl).
- Removed the fix for handling VPS timers, so that they only record if the event
they are assigned to actually has the given VPS time. This has caused repeating
VPS timers to stop recording prematurely.
- Avoiding duplicate components in EPG events when reading epg.data or in the
PUTE SVDRP command (thanks to Olaf Titz for reporting this one).
- Added the command line options '--lirc', '--rcu' and '--no-kbd' to allow setting
the remote control at runtime (based on a patch by Darren Salt).
- Now checking whether timers or channels are currently being edited via the menu
before making changes through SVDRP (thanks to Andreas Brugger for reporting a
problem with this).
- Files and directories are now created with rights according to the shell's
umask settings (thanks to Andreas Brachold).
- Fixed the cChannel copy constructor (thanks to Marcel Wiesweg for pointing out
a problem with it).
- Fixed an out-of-bounds memory access with audio language ids (thanks to
Matthias Lenk for reporting, and Udo Richter for suggesting a fix).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Added missing storing of the MenuScrollPage parameter (thanks to Frank Krömmelbein).
- Added cRemux::SetTimeouts() for better use of cRemux in a single thread (thanks
to Udo Richter for reporting a problem with this).
- Modified cEITScanner::Process() so that it uses the primary device if it is
replaying and is the only device that provides the given transponder, and that
a forced EPG scan works even if EPG scan timeout is set to 0 (thanks to
Bernhard Stegmaier for reporting a problem with this).
- Fixed cDvbSpuBitmap::putPixel() (thanks to Reinhard Nissl).
- Fixed setting system time to avoid time jumps in case of faulty data (thanks
to Andreas Böttger).
- Fixed a memory leak in the SVDRP command LSTE (thanks to Stefan Huelswitt).
Diffstat (limited to 'vdr.c')
-rw-r--r-- | vdr.c | 47 |
1 files changed, 38 insertions, 9 deletions
@@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.208 2005/06/18 11:19:07 kls Exp $ + * $Id: vdr.c 1.209 2005/07/31 11:25:16 kls Exp $ */ #include <getopt.h> @@ -115,6 +115,19 @@ int main(int argc, char *argv[]) int WatchdogTimeout = DEFAULTWATCHDOG; const char *Terminal = NULL; const char *Shutdown = NULL; + + bool UseKbd = true; + const char *LircDevice = NULL; + const char *RcuDevice = NULL; +#if !defined(REMOTE_KBD) + UseKbd = false; +#endif +#if defined(REMOTE_LIRC) + LircDevice = LIRC_DEVICE; +#elif defined(REMOTE_RCU) + RcuDevice = RCU_DEVICE; +#endif + cPluginManager PluginManager(DEFAULTPLUGINDIR); int ExitCode = 0; @@ -126,10 +139,13 @@ int main(int argc, char *argv[]) { "epgfile", required_argument, NULL, 'E' }, { "help", no_argument, NULL, 'h' }, { "lib", required_argument, NULL, 'L' }, + { "lirc", optional_argument, NULL, 'l' | 0x100 }, { "log", required_argument, NULL, 'l' }, { "mute", no_argument, NULL, 'm' }, + { "no-kbd", no_argument, NULL, 'n' | 0x100 }, { "plugin", required_argument, NULL, 'P' }, { "port", required_argument, NULL, 'p' }, + { "rcu", optional_argument, NULL, 'r' | 0x100 }, { "record", required_argument, NULL, 'r' }, { "shutdown", required_argument, NULL, 's' }, { "terminal", required_argument, NULL, 't' }, @@ -194,8 +210,14 @@ int main(int argc, char *argv[]) return 2; } break; + case 'l' | 0x100: + LircDevice = optarg ? : LIRC_DEVICE; + break; case 'm': MuteAudio = true; break; + case 'n' | 0x100: + UseKbd = false; + break; case 'p': if (isnumber(optarg)) SVDRPport = atoi(optarg); else { @@ -205,6 +227,9 @@ int main(int argc, char *argv[]) break; case 'P': PluginManager.AddPlugin(optarg); break; + case 'r' | 0x100: + RcuDevice = optarg ? : RCU_DEVICE; + break; case 'r': cRecordingUserCommand::SetCommand(optarg); break; case 's': Shutdown = optarg; @@ -261,10 +286,15 @@ int main(int argc, char *argv[]) " if logging should be done to LOG_LOCALn instead of\n" " LOG_USER, add '.n' to LEVEL, as in 3.7 (n=0..7)\n" " -L DIR, --lib=DIR search for plugins in DIR (default is %s)\n" + " --lirc[=PATH] use a LIRC remote control device, attached to PATH\n" + " (default: %s)\n" " -m, --mute mute audio of the primary DVB device at startup\n" + " --no-kbd don't use the keyboard as an input device\n" " -p PORT, --port=PORT use PORT for SVDRP (default: %d)\n" " 0 turns off SVDRP\n" " -P OPT, --plugin=OPT load a plugin defined by the given options\n" + " --rcu[=PATH] use a remote control device, attached to PATH\n" + " (default: %s)\n" " -r CMD, --record=CMD call CMD before and after a recording\n" " -s CMD, --shutdown=CMD call CMD to shutdown the computer\n" " -t TTY, --terminal=TTY controlling tty\n" @@ -275,7 +305,9 @@ int main(int argc, char *argv[]) "\n", DEFAULTEPGDATAFILENAME, DEFAULTPLUGINDIR, + LIRC_DEVICE, DEFAULTSVDRPPORT, + RCU_DEVICE, VideoDirectory, DEFAULTWATCHDOG ); @@ -470,15 +502,12 @@ int main(int argc, char *argv[]) cThemes::Load(Skins.Current()->Name(), Setup.OSDTheme, Skins.Current()->Theme()); // Remote Controls: -#if defined(REMOTE_RCU) - new cRcuRemote("/dev/ttyS1"); -#elif defined(REMOTE_LIRC) - new cLircRemote("/dev/lircd"); -#endif -#if defined(REMOTE_KBD) - if (!DaemonMode && HasStdin) + if (RcuDevice) + new cRcuRemote(RcuDevice); + if (LircDevice) + new cLircRemote(LircDevice); + if (!DaemonMode && HasStdin && UseKbd) new cKbdRemote; -#endif Interface->LearnKeys(); // External audio: |