mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Implemented recording and replaying with a single DVB card
This commit is contained in:
17
menu.c
17
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());
|
||||
|
Reference in New Issue
Block a user