summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-09-04 17:26:02 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-09-04 17:26:02 +0200
commit3e58bc64fece489778cdd2dc3df24c9bdca28779 (patch)
treed9e311dcb8d11f3436a9cd4f4a0e9b6b377e3a76 /menu.c
parent1967d0cd3d4b4b6295f31d8cef2895e2de1a71d9 (diff)
downloadvdr-3e58bc64fece489778cdd2dc3df24c9bdca28779.tar.gz
vdr-3e58bc64fece489778cdd2dc3df24c9bdca28779.tar.bz2
Implemented recording and replaying with a single DVB card
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/menu.c b/menu.c
index ea10a361..803b3735 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.206 2002/08/25 10:56:09 kls Exp $
+ * $Id: menu.c 1.207 2002/09/04 13:27:13 kls Exp $
*/
#include "menu.h"
@@ -508,7 +508,7 @@ eOSState cMenuChannels::Switch(void)
{
cChannel *ch = Channels.Get(Current());
if (ch)
- ch->Switch();
+ cDevice::PrimaryDevice()->SwitchChannel(ch, true);
return osEnd;
}
@@ -1054,7 +1054,7 @@ eOSState cMenuWhatsOn::Switch(void)
cMenuWhatsOnItem *item = (cMenuWhatsOnItem *)Get(Current());
if (item) {
cChannel *channel = Channels.GetByServiceID(item->eventInfo->GetServiceID());
- if (channel && channel->Switch())
+ if (channel && cDevice::PrimaryDevice()->SwitchChannel(channel, true))
return osEnd;
}
Interface->Error(tr("Can't switch channel!"));
@@ -2519,12 +2519,12 @@ bool cRecordControls::Start(cTimer *Timer)
cChannel *channel = Channels.GetByNumber(ch);
if (channel) {
- bool ReUse = false;
- cDevice *device = cDevice::GetDevice(channel->ca, Timer ? Timer->priority : Setup.DefaultPriority, channel->frequency, channel->vpid, &ReUse);
+ bool NeedsSwitchChannel = false;
+ cDevice *device = cDevice::GetDevice(channel, Timer ? Timer->priority : Setup.DefaultPriority, &NeedsSwitchChannel);
if (device) {
- if (!ReUse) {
+ if (NeedsSwitchChannel) {
Stop(device);
- if (!channel->Switch(device)) {
+ if (!device->SwitchChannel(channel, false)) {
cThread::EmergencyExit(true);
return false;
}
@@ -2570,7 +2570,8 @@ void cRecordControls::Stop(cDevice *Device)
bool cRecordControls::StopPrimary(bool DoIt)
{
if (cDevice::PrimaryDevice()->Receiving()) {
- cDevice *device = cDevice::GetDevice(cDevice::PrimaryDevice()->Ca(), 0);
+ //XXX+ disabled for the moment - might become obsolete with DVB_DRIVER_VERSION >= 2002090101
+ cDevice *device = NULL;//XXX cDevice::GetDevice(cDevice::PrimaryDevice()->Ca(), 0);
if (device) {
if (DoIt)
Stop(cDevice::PrimaryDevice());