diff options
author | Klaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de> | 2013-02-17 15:53:00 +0100 |
---|---|---|
committer | Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de> | 2013-02-17 18:11:16 +0100 |
commit | 4c59501a6b52816000d6c483fae619ebccfcdc9b (patch) | |
tree | c3036d65a88d45e0113a41cb78ef8030138de691 /vdr.c | |
parent | 14bd32b9486980a99ca552ec4eda6a11ab3a286a (diff) | |
download | vdr-patches-4c59501a6b52816000d6c483fae619ebccfcdc9b.tar.gz vdr-patches-4c59501a6b52816000d6c483fae619ebccfcdc9b.tar.bz2 |
Version 1.7.38
VDR developer version 1.7.38 is now available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.38.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.37-1.7.38.diff
MD5 checksums:
f4ef0f60ed662f3c983a830da67df9b2 vdr-1.7.38.tar.bz2
e945b0f44e13ed768de726cf6e66317c vdr-1.7.37-1.7.38.diff
WARNING:
========
This is a developer version. Even though I use it in my productive
environment. I strongly recommend that you only use it under controlled
conditions and for testing and debugging.
Approaching version 2.0.0:
==========================
If all goes well, there should be no more functional or API changes
before the final version 2.0.0. There will just be a few more fixes.
From the HISTORY file:
- Updated the Ukrainian OSD texts (thanks to Yarema Aka Knedlyk).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Updated the Romanian OSD texts (thanks to Lucian Muresan).
- Updated the French OSD texts (thanks to Marc Perrudin, Bernard Jaulini and Peter
Münster).
- Updated the Macedonian OSD texts (thanks to Dimitar Petrovski).
- Fixed moving editing marks, so that they don't get overwritten with old values
through an update of the marks file.
- Removed an invalid line from channels.conf.terr (reported by Lars Hanisch).
- Fixed an unexpected k_Repeat key event after a k_Release in lirc.c.
- Fixed permissions of po/sr_SR.po (reported by Dominic Evans).
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed using "Pause" and "Slow motion" near the end of a recording (replay stopped
a few seconds after the end of the recording file has been reached).
- Fixed selecting the last replayed recording in the Recordings menu in case there
are folders and plain recordings with names that differ only in non-alphanumeric
characters (reported by Andre Weidemann).
- Fixed the description of the OSD drawing functions DrawEllipse() (the values -5...-8
for the Quadrants parameter are not implemented).
- Made cOsd::DestroyPixmap() "NULL proof".
- Now deleting any previously allocated pixmaps in cOsd::SetAreas().
- Added demos of the DrawEllipse() and DrawSlope() function to the 'osddemo'
plugin (press '1' or '2', respectively).
- Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras).
- The timeout for trying to switch to a valid programme is now reset immediately once
a programme has been found.
- No longer checking for EOPNOTSUPP in cDvbTuner::GetSignalQuality() to avoid breaking
this function in case the driver suddenly decides to return a different errno value
if an operation is not supported.
- Moved the definition of TIMERMACRO_TITLE and TIMERMACRO_EPISODE from recording.h to
config.h and using them to initialize Setup.NameInstantRecord (avoids having the same
information in two places).
- Fixed the return value of cOsdProvider::StoreImage() in case there is no OSD provider.
- Fixed a crash in cMenuEditChanItem::Set() when entering a channel number that
doesn't exist (reported by Mikael Hübsch).
- Fixed displaying pending timers in "alert" mode in the LCARS skin.
- Added missing $(LDFLAGS) to the Makefile of the dvbhddevice plugin (thanks to Ville
Skyttä).
- Fixed some spellings in PLUGINS.html and Doxyfile (thanks to Ville Skyttä).
- Added '-p' to the cp command in the install-conf target of the Makefile (thanks to
Ville Skyttä).
- Added missing 'const' to cDevice::HasProgramme() and cDevice::HasLock().
- Fixed determining the priority of the primary device in case it is neither replaying
nor receiving a live channel (thanks to Matthias Senzel for reporting a problem with
switching back to live viewing after replay in a setup with device bonding).
- Removed all \return and \param tags from comment lines marked with "///<" for Doxygen.
There was only a rather small number of these, and I would probably always forget to
put them in place when writing future comments, so I decided to drop them entirely.
- Added Doxyfile.filter to have special characters escaped that would otherwise be
dropped by Doxygen (reported by Ville Skyttä).
- Using 'cat' instead of 'cp' to copy the Doxyfile to avoid problems in case Doxyfile
is write protected.
- Updated the Doxyfile with a newer version of Doxygen.
- Turned off following symlinks in the Doxyfile.
- Removed trailing whitespace.
- Expanded tabs in PLUGINS/src/dvbhddevice/setup.c.
- Some formatting fixes.
Diffstat (limited to 'vdr.c')
-rw-r--r-- | vdr.c | 28 |
1 files changed, 16 insertions, 12 deletions
@@ -22,7 +22,7 @@ * * The project's page is at http://www.tvdr.de * - * $Id: vdr.c 2.48 2013/02/08 10:47:02 kls Exp $ + * $Id: vdr.c 2.49 2013/02/14 10:49:06 kls Exp $ */ #include <getopt.h> @@ -834,22 +834,26 @@ int main(int argc, char *argv[]) time_t Now = time(NULL); // Make sure we have a visible programme in case device usage has changed: - if (!EITScanner.Active() && cDevice::PrimaryDevice()->HasDecoder() && !cDevice::PrimaryDevice()->HasProgramme()) { + if (!EITScanner.Active() && cDevice::PrimaryDevice()->HasDecoder()) { static time_t lastTime = 0; - if (!CamMenuActive() && Now - lastTime > MINCHANNELWAIT) { // !CamMenuActive() to avoid interfering with the CAM if a CAM menu is open - cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel()); - if (Channel && (Channel->Vpid() || Channel->Apid(0) || Channel->Dpid(0))) { - if (cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY) && Channels.SwitchTo(Channel->Number())) // try to switch to the original channel... - ; - else if (LastTimerChannel > 0) { - Channel = Channels.GetByNumber(LastTimerChannel); - if (Channel && cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY) && Channels.SwitchTo(LastTimerChannel)) // ...or the one used by the last timer + if (!cDevice::PrimaryDevice()->HasProgramme()) { + if (!CamMenuActive() && Now - lastTime > MINCHANNELWAIT) { // !CamMenuActive() to avoid interfering with the CAM if a CAM menu is open + cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel()); + if (Channel && (Channel->Vpid() || Channel->Apid(0) || Channel->Dpid(0))) { + if (cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY) && Channels.SwitchTo(Channel->Number())) // try to switch to the original channel... ; + else if (LastTimerChannel > 0) { + Channel = Channels.GetByNumber(LastTimerChannel); + if (Channel && cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY) && Channels.SwitchTo(LastTimerChannel)) // ...or the one used by the last timer + ; + } } + lastTime = Now; // don't do this too often + LastTimerChannel = -1; } - lastTime = Now; // don't do this too often - LastTimerChannel = -1; } + else + lastTime = 0; // makes sure we immediately try again next time } // Update the OSD size: { |