summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2003-08-17 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2003-08-17 18:00:00 +0200
commit5f5dfd7f69963abcdcceed88e649c83e6ea5709e (patch)
tree6e39ad2cd329b1a361e8030c8a6c2ac9be91a44d /menu.c
parent6c2c3ace8bfe8918b516cc155fbf1104baa107f9 (diff)
downloadvdr-patch-lnbsharing-5f5dfd7f69963abcdcceed88e649c83e6ea5709e.tar.gz
vdr-patch-lnbsharing-5f5dfd7f69963abcdcceed88e649c83e6ea5709e.tar.bz2
Version 1.2.3 (not officially released)vdr-1.2.3
- Fixed the TS to PES repacker so that it works with MPEG1 streams (thanks to Andreas Kool). - Fixed keeping track of the current channel number when moving channels in the "Channels" menu (thanks to Mirko Günther for reporting this one). - Made the plugin library directory configurable via Make.config (thanks to Ludwig Nussel). - Fixed scaling SPU bitmaps in Letterbox mode when playing NTSC material. In order to do this, the cDevice was given a new member function GetVideoSystem(). - Fixed two warnings when compiling with gcc 3.3.1 (thanks to Alfred Zastrow for reporting this). - Made crc32() a static function in libdtv/libsi/si_parser.c to avoid a name clash when using other libraries that also implement a function by that name (thanks to Reinhard Nissl for reporting this one). - Fixed staying off the end of an ongoing recording while replaying in time shift mode (thanks to Rainer Zocholl for reporting this one). - VDR now stops with exit status 2 if one of the configuration files can't be read correctly at program startup (suggested by Rainer Zocholl). - Fixed a crash when starting "Pause live video" twice within the same minute on the same channel. - Fixed freezing replay if a timer starts while in Transfer Mode from the device used by the timer, and the timer needs a different transponder (thanks to Richard Robson for reporting this one). - Fixed toggling channels with the '0' key (thanks to Mirko Günther for reporting this one). - Made the "Zap timeout" (the time until a channel counts as "previous" for switching with '0') a setup variable, available in "Setup/Miscellaneous" (suggested by Helmut Auer). - Removing deleted recordings faster than normal when cutting, to avoid running out of disk space (thanks to Manfred Schmidt-Voigt for reporting this one).
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/menu.c b/menu.c
index b29961e..e3b3207 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 1.264 2003/08/03 09:38:37 kls Exp $
+ * $Id: menu.c 1.268 2003/08/17 08:52:07 kls Exp $
*/
#include "menu.h"
@@ -763,6 +763,8 @@ eOSState cMenuChannels::Delete(void)
void cMenuChannels::Move(int From, int To)
{
+ int CurrentChannelNr = cDevice::CurrentChannel();
+ cChannel *CurrentChannel = Channels.GetByNumber(CurrentChannelNr);
cChannel *FromChannel = GetChannel(From);
cChannel *ToChannel = GetChannel(To);
if (FromChannel && ToChannel) {
@@ -772,6 +774,8 @@ void cMenuChannels::Move(int From, int To)
cOsdMenu::Move(From, To);
Propagate();
isyslog("channel %d moved to %d", FromNumber, ToNumber);
+ if (CurrentChannel && CurrentChannel->Number() != CurrentChannelNr)
+ Channels.SwitchTo(CurrentChannel->Number());
}
}
@@ -2252,6 +2256,7 @@ cMenuSetupMisc::cMenuSetupMisc(void)
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. event timeout (min)"), &data.MinEventTimeout));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. user inactivity (min)"), &data.MinUserInactivity));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$SVDRP timeout (s)"), &data.SVDRPTimeout));
+ Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Zap timeout (s)"), &data.ZapTimeout));
}
// --- cMenuSetupPluginItem --------------------------------------------------
@@ -2997,6 +3002,8 @@ cRecordControl::cRecordControl(cDevice *Device, cTimer *Timer, bool Pause)
else {
Timers.Del(timer);
Timers.Save();
+ if (!cReplayControl::LastReplayed()) // an instant recording, maybe from cRecordControls::PauseLiveVideo()
+ cReplayControl::SetRecording(fileName, Recording.Name());
}
timer = NULL;
return;
@@ -3093,8 +3100,11 @@ bool cRecordControls::Start(cTimer *Timer, bool Pause)
int Priority = Timer ? Timer->Priority() : Pause ? Setup.PausePriority : Setup.DefaultPriority;
cDevice *device = cDevice::GetDevice(channel, Priority, &NeedsDetachReceivers);
if (device) {
- if (NeedsDetachReceivers)
+ if (NeedsDetachReceivers) {
Stop(device);
+ if (device == cDevice::ActualDevice())
+ cControl::Shutdown(); // in case this device was used for Transfer Mode
+ }
if (!device->SwitchChannel(channel, false)) {
cThread::EmergencyExit(true);
return false;