diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-09-08 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-09-08 18:00:00 +0200 |
commit | 523c4a07aa9112841743fca2ebcce957fde03bc8 (patch) | |
tree | 6980f2c5644d926410c359574fa11732860d7eac /menu.c | |
parent | a2a215d5e12ad35df8d0731dd00b6e41d5dd77fa (diff) | |
download | vdr-patch-lnbsharing-523c4a07aa9112841743fca2ebcce957fde03bc8.tar.gz vdr-patch-lnbsharing-523c4a07aa9112841743fca2ebcce957fde03bc8.tar.bz2 |
Version 1.1.9vdr-1.1.9
- Fixed the 'newplugin' script to make it name the target for creating the
distribution package 'dist', as stated in the PLUGINS.html documentation.
If you have already created a plugin source directory and Makefile you may
want to check it and replace the 'package' target with 'dist' if necessary.
- Changed device handling for being able to do simultaneous recording and
replay on the same device (Time Shifting). In order for this to work you need
to use a driver with a firmware version that has this feature implemented.
- cDevice::ProvidesCa() is no longer virtual. The new function
cDevice::ProvidesChannel() is now used to determine whether a device can
receive a given channel, and by default this function returns false. So a
device that is a pure replaying device doesn't need to do anything here.
- Increased the recorder buffer size to 5MB in order to be able to better handle
multiple recordings.
- Implemented cTSBuffer for better handling TS packet buffering in derived
cDevice classes.
- Changed the interface if cDevice::GetTSPacket() to avoid unnecessary copying
of data.
- Removed cDevice::Channel(), since this makes no more sense with devices
receiving multiple channels.
- Switching through channels with the 'Up' and 'Down' keys now skips channels
that are currently not available (for instance because all devices are
recording and these channels are on different transponders).
- Implemented an SPU decoder (thanks to Andreas Schultz).
- Fixed a crash when entering an integer value outside the limits (thanks to
Stefan Huelswitt for reporting this one).
- Added play mode pmAudioOnlyBlack (thanks to Stefan Huelswitt).
Diffstat (limited to 'menu.c')
-rw-r--r-- | menu.c | 22 |
1 files changed, 11 insertions, 11 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.208 2002/09/06 14:07:58 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,15 +2519,14 @@ 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 NeedsDetachReceivers = false; + cDevice *device = cDevice::GetDevice(channel, Timer ? Timer->priority : Setup.DefaultPriority, &NeedsDetachReceivers); if (device) { - if (!ReUse) { + if (NeedsDetachReceivers) Stop(device); - if (!channel->Switch(device)) { - cThread::EmergencyExit(true); - return false; - } + if (!device->SwitchChannel(channel, false)) { + cThread::EmergencyExit(true); + return false; } for (int i = 0; i < MAXRECORDCONTROLS; i++) { if (!RecordControls[i]) { @@ -2570,7 +2569,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()); |