diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-09-25 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-09-25 18:00:00 +0200 |
commit | c16bbf7422f37108580e559ca849e5aafbdac672 (patch) | |
tree | 8ee8d17a971364a9231a83abf5bcff4e30bed9b3 /device.c | |
parent | d5c85f5ff84ffea666c63eca5dbe04632283cb04 (diff) | |
download | vdr-patch-lnbsharing-c16bbf7422f37108580e559ca849e5aafbdac672.tar.gz vdr-patch-lnbsharing-c16bbf7422f37108580e559ca849e5aafbdac672.tar.bz2 |
Version 1.3.33vdr-1.3.33
- Fixed two errors in 'newplugin' (thanks to Alexander Rieger).
- Fixed converting arbitrarily formatted summary.vdr files (thanks to Thomas Günther).
- Fixed handling color buttons in cMenuEditStrItem (thanks to Alexander Rieger).
- Added cChannel::LinkChannels() and cChannel::RefChannel() (suggested by Helmut Auer).
Note that VDR itself doesn't actually use the linked channels, yet, so there is
no guarantee that this really works under all circumstances.
- Added a missing include statement to the 'sky' plugin (thanks to Alfred Zastrow
for reporting this one).
- Fixed handling key macros with keys after @plugin (thanks to Rolf Ahrenberg for
reporting this one).
- Fixed error handling in cCiTransportConnection::RecvTPDU() (thanks to Georg Acher
for reporting this one).
- Removed obsolete 'shift' code in device.[hc].
- The SVDRP command DELR no longer triggers a complete reload of the global Recordings
list, but rather deletes that particular entry.
- The list of recordings is now read in a separate thread, resulting in a faster
startup if there are a great many of recordings, or the disk(s) have to spin up.
If the Recordings menu is opened while the list of recordings is still being read,
the menu will be updated accordingly.
Plugins that access the global Recordings variable should lock the thread
by putting something like
cThreadLock RecordingsLock(&Recordings);
into the respective code block. Thanks to Carsten Koch for his help in testing
and debugging this.
- The 'new' indicator in the Recordings menu is now kept up-to-date (thanks to
Thomas Günther).
- Updated the Romanian OSD texts (thanks to Lucian Muresan).
- Updated the Russian OSD texts (thanks to Oleg Roitburd).
- The '.update' file in the video directory is now touched when a recording is
added or deleted, so that other VDR instances can update their lists (thanks to
Alexander Rieger).
- Made the function ExchangeChars() public (suggested by Lucian Muresan).
Diffstat (limited to 'device.c')
-rw-r--r-- | device.c | 55 |
1 files changed, 1 insertions, 54 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 1.109 2005/09/04 14:28:16 kls Exp $ + * $Id: device.c 1.110 2005/09/17 14:29:44 kls Exp $ */ #include "device.h" @@ -310,22 +310,6 @@ cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool *NeedsDe } } } - - /*XXX+ too complex with multiple recordings per device - if (!d && Ca > MAXDEVICES) { - // We didn't find one the easy way, so now we have to try harder: - int ShiftLevel = -1; - for (int i = 0; i < numDevices; i++) { - if (Provides[i]) { // this device is basicly able to do the job, but for some reason we didn't get it above - int sl = device[i]->CanShift(Ca, Priority); // asks this device to shift its job to another device - if (sl >= 0 && (ShiftLevel < 0 || sl < ShiftLevel)) { - d = device[i]; // found one that can be shifted with the fewest number of subsequent shifts - ShiftLevel = sl; - } - } - } - } - XXX*/ return d; } @@ -1084,43 +1068,6 @@ int cDevice::Priority(void) const return priority; } -int cDevice::CanShift(int Ca, int Priority, int UsedCards) const -{ - return -1;//XXX+ too complex with multiple recordings per device - /*XXX - // Test whether a receiver on this device can be shifted to another one - // in order to perform a new receiving with the given Ca and Priority on this device: - int ShiftLevel = -1; // default means this device can't be shifted - if (UsedCards & (1 << CardIndex()) != 0) - return ShiftLevel; // otherwise we would get into a loop - if (Receiving()) { - if (ProvidesCa(Ca) // this device provides the requested Ca - && (Ca != this->Ca() // the requested Ca is different from the one currently used... - || Priority > this->Priority())) { // ...or the request comes from a higher priority - cDevice *d = NULL; - int Provides[MAXDEVICES]; - UsedCards |= (1 << CardIndex()); - for (int i = 0; i < numDevices; i++) { - if ((Provides[i] = device[i]->ProvidesCa(this->Ca())) != 0) { // this device is basicly able to do the job - if (device[i] != this) { // it is not _this_ device - int sl = device[i]->CanShift(this->Ca(), Priority, UsedCards); // this is the original Priority! - if (sl >= 0 && (ShiftLevel < 0 || sl < ShiftLevel)) { - d = device[i]; - ShiftLevel = sl; - } - } - } - } - if (ShiftLevel >= 0) - ShiftLevel++; // adds the device's own shift - } - } - else if (Priority > this->Priority()) - ShiftLevel = 0; // no shifting necessary, this device can do the job - return ShiftLevel; - XXX*/ -} - bool cDevice::Ready(void) { return true; |