summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2004-02-15 14:31:53 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2004-02-15 14:31:53 +0100
commit0a3f7e7ca23078eab860032350d61ceb2a8ab50c (patch)
treec8f98b6050c9b2f9f7d90c2d9e281b8805295ea0 /menu.c
parent955d5eb012227fa6fa70f784d967e831a55e5c1b (diff)
downloadvdr-0a3f7e7ca23078eab860032350d61ceb2a8ab50c.tar.gz
vdr-0a3f7e7ca23078eab860032350d61ceb2a8ab50c.tar.bz2
Limited automatic retuning to devices that actually provide the transponder
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/menu.c b/menu.c
index 2ffa6d9f..790bb179 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.285 2004/02/13 13:23:07 kls Exp $
+ * $Id: menu.c 1.286 2004/02/15 14:29:53 kls Exp $
*/
#include "menu.h"
@@ -3241,7 +3241,7 @@ void cRecordControls::Stop(cDevice *Device)
{
for (int i = 0; i < MAXRECORDCONTROLS; i++) {
if (RecordControls[i]) {
- if (RecordControls[i]->Uses(Device)) {
+ if (RecordControls[i]->Device() == Device) {
isyslog("stopping recording on DVB device %d due to higher priority", Device->CardIndex() + 1);
RecordControls[i]->Stop(true);
}
@@ -3320,10 +3320,12 @@ void cRecordControls::ChannelDataModified(cChannel *Channel)
for (int i = 0; i < MAXRECORDCONTROLS; i++) {
if (RecordControls[i]) {
if (RecordControls[i]->Timer() && RecordControls[i]->Timer()->Channel() == Channel) {
- isyslog("stopping recording due to modification of channel %d", Channel->Number());
- RecordControls[i]->Stop(true);
- // This will restart the recording, maybe even from a different
- // device in case conditional access has changed.
+ if (RecordControls[i]->Device()->ProvidesTransponder(Channel)) { // avoids retune on devices that don't really access the transponder
+ isyslog("stopping recording due to modification of channel %d", Channel->Number());
+ RecordControls[i]->Stop(true);
+ // This will restart the recording, maybe even from a different
+ // device in case conditional access has changed.
+ }
}
}
}