Version 1.3.45

- Fixed updating the "Info" button in the "Timers" menu.
- Reduced the number of events to actually check when setting events to timers.
- cMenuEditIntItem now checks the given value and forces it to be between the
  given min and max limits.
- The status changes of EPG events are now logged for all channels that have timers.
- Removed the log message "deleting plugin: ..." when shutting down VDR (thanks to
  Christoph Haubrich for reporting that this is irritating when calling "vdr --help").
- Fixed cReadLine::Read() for lines that end with the infamous "\r\n" (thanks to
  Rolf Ahrenberg).
- Fixed cDvbDevice::SetAudioBypass() in case setTransferModeForDolbyDigital is false
  (thanks to Werner Fink).
- Updated 'sources.conf' (thanks to Oleg Roitburd).
- Fixed the shutdown timeout (thanks to Alexander Wenzel).
- Only calling RemoveEmptyVideoDirectories() once in case a recording has been
  deleted (reported by Hardy Flor).
- Fixed deleting recordings that have been removed externally when running out of
  disk space (reported by Jan Lenz).
- Fixed handling repeating VPS timers (they stopped recording too early).
- Timer log messages now show "VPS" if this is a VPS timer.
- Fixed getting the present EPG event in case none is currently 'running' (it
  then returns the one that just ended).
- Fixed calling a plugin's main menu function while a message is being displayed
  (reported by Helmut Auer).
- Updated the Russian OSD texts (thanks to Oleg Roitburd).
- Made cMenuRecordings::GetRecording() 'protected' (suggested by Marius Heidenstecker).
- Speeded up cRemux::ScanVideoPacket() (thanks to Reinhard Nissl).
- Enhanced logging EPG event data.
- Fixed format string handling (thanks to Darren Salt).
- The new function cDevice::ForceTransferMode() can be used to force the primary
  device into transfer mode (thanks to Reinhard Nissl).
- The 'version' of EPG events is now ignored when reading EPG data from 'epg.data'
  or via SVDRP/PUTE to avoid problems with double EPG events.
- The 'running status' of EPG events is now only set to SI::RunningStatusNotRunning
  for events before the present event.
- Fixed some #include sequences.
- Single shot VPS timers are now only considered 'expired' if their associated
  EPG event has been explicitly set to SI::RunningStatusNotRunning.
- The check for timers to be deleted is now done only every 30 seconds.
This commit is contained in:
Klaus Schmidinger
2006-03-26 19:00:00 +02:00
parent 9d12ac30f0
commit 49b561fcad
34 changed files with 460 additions and 222 deletions

16
svdrp.c
View File

@@ -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 1.93 2006/01/14 16:08:20 kls Exp $
* $Id: svdrp.c 1.94 2006/03/26 09:14:13 kls Exp $
*/
#include "svdrp.h"
@@ -461,7 +461,7 @@ void cSVDRP::PrintHelpTopics(const char **hp)
q += sprintf(q, "%*s", -MAXHELPTOPIC, topic);
}
x = 0;
Reply(-214, buffer);
Reply(-214, "%s", buffer);
}
}
@@ -782,7 +782,7 @@ void cSVDRP::CmdGRAB(const char *Option)
cBase64Encoder Base64(Image, ImageSize);
const char *s;
while ((s = Base64.NextLine()) != NULL)
Reply(-216, s);
Reply(-216, "%s", s);
Reply(216, "Grabbed image %s", Option);
}
free(Image);
@@ -799,7 +799,7 @@ void cSVDRP::CmdHELP(const char *Option)
if (*Option) {
const char *hp = GetHelpPage(Option, HelpPages);
if (hp)
Reply(214, hp);
Reply(214, "%s", hp);
else {
Reply(504, "HELP topic \"%s\" unknown", Option);
return;
@@ -1332,7 +1332,7 @@ void cSVDRP::CmdPLUG(const char *Option)
if (*cmd && *option) {
const char *hp = GetHelpPage(option, plugin->SVDRPHelpPages());
if (hp) {
Reply(-214, hp);
Reply(-214, "%s", hp);
Reply(214, "End of HELP info");
}
else
@@ -1358,7 +1358,7 @@ void cSVDRP::CmdPLUG(const char *Option)
int ReplyCode = 900;
cString s = plugin->SVDRPCommand(cmd, option, ReplyCode);
if (s)
Reply(abs(ReplyCode), *s);
Reply(abs(ReplyCode), "%s", *s);
else
Reply(500, "Command unrecognized: \"%s\"", cmd);
}
@@ -1380,7 +1380,7 @@ void cSVDRP::CmdPUTE(const char *Option)
{
delete PUTEhandler;
PUTEhandler = new cPUTEhandler;
Reply(PUTEhandler->Status(), PUTEhandler->Message());
Reply(PUTEhandler->Status(), "%s", PUTEhandler->Message());
if (PUTEhandler->Status() != 354)
DELETENULL(PUTEhandler);
}
@@ -1467,7 +1467,7 @@ void cSVDRP::Execute(char *Cmd)
// handle PUTE data:
if (PUTEhandler) {
if (!PUTEhandler->Process(Cmd)) {
Reply(PUTEhandler->Status(), PUTEhandler->Message());
Reply(PUTEhandler->Status(), "%s", PUTEhandler->Message());
DELETENULL(PUTEhandler);
}
return;