summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2004-06-12 15:07:29 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2004-06-12 15:07:29 +0200
commit1369239b53ee23fa1f790c67649facb4f8e547ff (patch)
tree7e5cb697db8f8034530ca2a16e67398f3d64f5e7
parent9b0070a420a47dfcced1e480d85c9f455aa6e416 (diff)
downloadvdr-1369239b53ee23fa1f790c67649facb4f8e547ff.tar.gz
vdr-1369239b53ee23fa1f790c67649facb4f8e547ff.tar.bz2
Fixed switching channels while an encrypted channel is being recorded
-rw-r--r--CONTRIBUTORS4
-rw-r--r--HISTORY3
-rw-r--r--dvbdevice.c4
3 files changed, 9 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 63f1aac3..fade122d 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1032,3 +1032,7 @@ Jouni Karvo <kex@netlab.hut.fi>
Olaf Henkel <olafhenkel@t-online.de>
for reporting a problem with long event texts in the "Classic VDR" skin
+
+Martin Dauskardt <md001@gmx.de>
+ for reporting a problem with switching channels while an encrypted channel is being
+ recorded
diff --git a/HISTORY b/HISTORY
index 2a5379b5..45b726dc 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2908,3 +2908,6 @@ Video Disk Recorder Revision History
- Some improvements in cOsd creation (thanks to some suggestions by Jouni Karvo).
- Fixed calculating the OSD width and height (thanks to Olaf Henkel for reporting
a problem with long event texts in the "Classic VDR" skin).
+- Fixed switching channels while an encrypted channel is being recorded, because the
+ channel was switched if the new channel was on the same transponder and was
+ a radio channel (thanks to Martin Dauskardt for reporting this one).
diff --git a/dvbdevice.c b/dvbdevice.c
index 2d23d27c..fae2408a 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.c 1.90 2004/06/12 14:42:19 kls Exp $
+ * $Id: dvbdevice.c 1.91 2004/06/12 14:50:23 kls Exp $
*/
#include "dvbdevice.h"
@@ -682,7 +682,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
result = hasPriority;
if (Priority >= 0 && Receiving(true)) {
if (dvbTuner->IsTunedTo(Channel)) {
- if (!HasPid(Channel->Vpid())) {
+ if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid1() && !HasPid(Channel->Apid1())) {
#ifdef DO_MULTIPLE_RECORDINGS
if (Channel->Ca() > CACONFBASE)
needsDetachReceivers = !ciHandler // only LL-firmware can do non-live CA channels