diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2002-09-04 17:26:02 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2002-09-04 17:26:02 +0200 |
commit | 3e58bc64fece489778cdd2dc3df24c9bdca28779 (patch) | |
tree | d9e311dcb8d11f3436a9cd4f4a0e9b6b377e3a76 /menu.c | |
parent | 1967d0cd3d4b4b6295f31d8cef2895e2de1a71d9 (diff) | |
download | vdr-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.c | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -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()); |