summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2014-01-26 12:45:46 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2014-01-26 12:45:46 +0100
commit538a4f767466c0915a09fa4e3af8bc25fa105db5 (patch)
tree6700f337bf8721e79c4f923947bfe214faf865bc
parentdd95f4ed61db236b5135129ca70e1315a89b71ca (diff)
downloadvdr-538a4f767466c0915a09fa4e3af8bc25fa105db5.tar.gz
vdr-538a4f767466c0915a09fa4e3af8bc25fa105db5.tar.bz2
Now checking whether the primary device actually has a decoder before retuning the current channel after a change in its parameters
-rw-r--r--HISTORY5
-rw-r--r--vdr.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/HISTORY b/HISTORY
index 73c35003..b82827c6 100644
--- a/HISTORY
+++ b/HISTORY
@@ -7870,7 +7870,7 @@ Video Disk Recorder Revision History
and also to use the correct directory with --edit (the latter reported by Marko
Mäkelä).
-2014-01-25: Version 2.0.6
+2014-01-26: Version 2.0.6
- Updated 'sources.conf' (thanks to Antti Hartikainen).
- cFont::CreateFont() now returns a dummy font in case there are no fonts installed.
@@ -7881,3 +7881,6 @@ Video Disk Recorder Revision History
- Fixed detecting frame borders in MPEG-2 streams that have "bottom fields" or varying
GOP structures (reported by Christian Paulick, with help from Helmut Auer).
- Fixed a wrong alignment in cCiDateTime::SendDateTime().
+- Now checking whether the primary device actually has a decoder before retuning the
+ current channel after a change in its parameters. This fixes broken recordings on
+ the primary device on "headless" systems.
diff --git a/vdr.c b/vdr.c
index e1857ead..ffd0e010 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.tvdr.de
*
- * $Id: vdr.c 2.57.1.4 2013/12/25 11:40:37 kls Exp $
+ * $Id: vdr.c 2.57.1.5 2014/01/26 12:45:00 kls Exp $
*/
#include <getopt.h>
@@ -909,7 +909,7 @@ int main(int argc, char *argv[])
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
if (Channel->Modification(CHANNELMOD_RETUNE)) {
cRecordControls::ChannelDataModified(Channel);
- if (Channel->Number() == cDevice::CurrentChannel()) {
+ if (Channel->Number() == cDevice::CurrentChannel() && cDevice::PrimaryDevice()->HasDecoder()) {
if (!cDevice::PrimaryDevice()->Replaying() || cDevice::PrimaryDevice()->Transferring()) {
if (cDevice::ActualDevice()->ProvidesTransponder(Channel)) { // avoids retune on devices that don't really access the transponder
isyslog("retuning due to modification of channel %d", Channel->Number());