diff options
Diffstat (limited to 'patches')
7 files changed, 0 insertions, 686 deletions
diff --git a/patches/.svn/entries b/patches/.svn/entries deleted file mode 100644 index 2a0dc74..0000000 --- a/patches/.svn/entries +++ /dev/null @@ -1,232 +0,0 @@ -10 - -dir -18963 -svn://reelbox.org/testing/src/vdr-plugins/src/mcli-1/patches -svn://reelbox.org - - - -2011-07-12T13:36:23.313379Z -16905 -rollercoaster - - - - - - - - - - - - - - -12be777f-adf9-0310-842f-e37ecc4c7426 - -vdr-1.6.0-intcamdevices.patch -file - - - - -2012-09-27T17:22:49.486848Z -d32580d7ee6e033fa8754b408ef17dad -2011-07-12T13:36:23.313379Z -16905 -rollercoaster - - - - - - - - - - - - - - - - - - - - - -5742 - -reelvdr-device-handling-patch.diff -file - - - - -2012-09-27T17:22:49.486848Z -258a74a6d2dd9adfb93ba6e2cae04e6f -2011-07-12T13:36:23.313379Z -16905 -rollercoaster - - - - - - - - - - - - - - - - - - - - - -5301 - -vdr-1.6-device-consistent-destruct.patch -file - - - - -2012-09-27T17:22:49.486848Z -a577595d5404ebeb755d3068843663a5 -2011-07-12T13:36:23.313379Z -16905 -rollercoaster - - - - - - - - - - - - - - - - - - - - - -3078 - -vdr-1.6.0-altmenuaction.patch -file - - - - -2012-09-27T17:22:49.486848Z -3fba8e9949af8cb9ebee9f659e49f531 -2011-07-12T13:36:23.313379Z -16905 -rollercoaster - - - - - - - - - - - - - - - - - - - - - -1265 - -vdr-1.6-section-read-abstraction.patch -file - - - - -2012-09-27T17:22:49.486848Z -d73a367e8f7160ad8f3a29f0451d96b8 -2011-07-12T13:36:23.313379Z -16905 -rollercoaster - - - - - - - - - - - - - - - - - - - - - -1773 - -vdr-1.4.0-closefilter.patch -file - - - - -2012-09-27T17:22:49.486848Z -b4de0862c8b127039dc5425780e4dfd4 -2011-07-12T13:36:23.313379Z -16905 -rollercoaster - - - - - - - - - - - - - - - - - - - - - -1585 - diff --git a/patches/.svn/text-base/reelvdr-device-handling-patch.diff.svn-base b/patches/.svn/text-base/reelvdr-device-handling-patch.diff.svn-base deleted file mode 100644 index d0592aa..0000000 --- a/patches/.svn/text-base/reelvdr-device-handling-patch.diff.svn-base +++ /dev/null @@ -1,158 +0,0 @@ -Index: device.c -=================================================================== ---- device.c (Revision 10504) -+++ device.c (Arbeitskopie) -@@ -270,14 +270,19 @@ - for (int i = 0; i < MAXRECEIVERS; i++) - receiver[i] = NULL; - -- if (numDevices < MAXDEVICES) -- device[numDevices++] = this; -- else -- esyslog("ERROR: too many devices!"); -+ for (int i = 0; i < MAXDEVICES; i++) -+ if (!device[i]) { -+ device[i] = this; -+ numDevices++; -+ return; -+ } -+ esyslog("ERROR: too many devices!"); - } - - cDevice::~cDevice() - { -+ numDevices--; -+ device[DeviceNumber()] = NULL; - Detach(player); - for (int i = 0; i < MAXRECEIVERS; i++) - Detach(receiver[i]); -@@ -290,7 +295,7 @@ - { - for (time_t t0 = time(NULL); time(NULL) - t0 < Timeout; ) { - bool ready = true; -- for (int i = 0; i < numDevices; i++) { -+ for (int i = 0; i < MAXDEVICES; i++) { - if (device[i] && !device[i]->Ready()) - ready = false; - } -@@ -322,7 +327,7 @@ - - int cDevice::DeviceNumber(void) const - { -- for (int i = 0; i < numDevices; i++) { -+ for (int i = 0; i < MAXDEVICES; i++) { - if (device[i] == this) - return i; - } -@@ -336,7 +341,7 @@ - bool cDevice::SetPrimaryDevice(int n) - { - n--; -- if (0 <= n && n < numDevices && device[n]) { -+ if (0 <= n && n < MAXDEVICES && device[n]) { - isyslog("setting primary device to %d", n + 1); - if (primaryDevice) - primaryDevice->MakePrimaryDevice(false); -@@ -369,15 +374,17 @@ - - cDevice *cDevice::GetDevice(int Index) - { -- return (0 <= Index && Index < numDevices) ? device[Index] : NULL; -+ return (0 <= Index && Index < MAXDEVICES) ? device[Index] : NULL; - } - - cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool *NeedsDetachReceivers) - { - cDevice *d = NULL; - uint Impact = 0xFFFFFFFF; // we're looking for a device with the least impact -- for (int i = 0; i < numDevices; i++) { -+ for (int i = 0; i < MAXDEVICES; i++) { - bool ndr; -+ if (device[i] == NULL) -+ continue; // this device was not allocated - #ifdef DETACH_UNUSED_DEVICES - if(!device[i]->Receiving()) { - isyslog("device %d (%p) not receiving", i, device[i]); -@@ -419,10 +426,11 @@ - void cDevice::Shutdown(void) - { - primaryDevice = NULL; -- for (int i = 0; i < numDevices; i++) { -- delete device[i]; -- device[i] = NULL; -+ for (int i = 0; i < MAXDEVICES; i++) { -+ if( device[i]) { -+ delete device[i]; - } -+ } - } - - uchar *cDevice::GrabImage(int &Size, bool Jpeg, int Quality, int SizeX, int SizeY) -@@ -724,6 +732,16 @@ - return -1; - } - -+int cDevice::ReadFilter(int Handle, void *Buffer, size_t Length) -+{ -+ return safe_read(Handle, Buffer, Length); -+} -+ -+void cDevice::CloseFilter(int Handle) -+{ -+ close(Handle); -+} -+ - void cDevice::AttachFilter(cFilter *Filter) - { - if (sectionHandler) -@@ -753,7 +771,7 @@ - - bool cDevice::ProvidesTransponderExclusively(const cChannel *Channel) const - { -- for (int i = 0; i < numDevices; i++) { -+ for (int i = 0; i < MAXDEVICES; i++) { - if (device[i] && device[i] != this && device[i]->ProvidesTransponder(Channel)) - return false; - } -Index: device.h -=================================================================== ---- device.h (Revision 10504) -+++ device.h (Arbeitskopie) -@@ -326,6 +326,15 @@ - ///< Opens a file handle for the given filter data. - ///< A derived device that provides section data must - ///< implement this function. -+ virtual int ReadFilter(int Handle, void *Buffer, size_t Length); -+ ///< Read from a handle for the given filter data. -+ ///< a derived class need not implement this function, because this -+ ///< is done by the default implementation. -+ virtual void CloseFilter(int Handle); -+ ///< Closes a file handle that has previously been opened -+ ///< by OpenFilter(). If this is as simple as calling close(Handle), -+ ///< a derived class need not implement this function, because this -+ ///< is done by the default implementation. - void AttachFilter(cFilter *Filter); - ///< Attaches the given filter to this device. - void Detach(cFilter *Filter); -Index: sections.c -=================================================================== ---- sections.c (Revision 10504) -+++ sections.c (Arbeitskopie) -@@ -105,7 +105,7 @@ - for (fh = filterHandles.First(); fh; fh = filterHandles.Next(fh)) { - if (fh->filterData.Is(FilterData->pid, FilterData->tid, FilterData->mask)) { - if (--fh->used <= 0) { -- close(fh->handle); -+ device->CloseFilter(fh->handle); - filterHandles.Del(fh); - break; - } -@@ -198,7 +198,7 @@ - if (fh) { - // Read section data: - unsigned char buf[4096]; // max. allowed size for any EIT section -- int r = safe_read(fh->handle, buf, sizeof(buf)); -+ int r = device->ReadFilter(fh->handle, buf, sizeof(buf)); - if (!DeviceHasLock) - continue; // we do the read anyway, to flush any data that might have come from a different transponder - if (r > 3) { // minimum number of bytes necessary to get section length diff --git a/patches/.svn/text-base/vdr-1.4.0-closefilter.patch.svn-base b/patches/.svn/text-base/vdr-1.4.0-closefilter.patch.svn-base deleted file mode 100644 index cd87632..0000000 --- a/patches/.svn/text-base/vdr-1.4.0-closefilter.patch.svn-base +++ /dev/null @@ -1,45 +0,0 @@ -Index: device.c -=================================================================== ---- device.c (Revision 10449) -+++ device.c (Arbeitskopie) -@@ -724,6 +724,11 @@ - return -1; - } - -+void cDevice::CloseFilter(int Handle) -+{ -+ close(Handle); -+} -+ - void cDevice::AttachFilter(cFilter *Filter) - { - if (sectionHandler) -Index: device.h -=================================================================== ---- device.h (Revision 10449) -+++ device.h (Arbeitskopie) -@@ -326,6 +326,11 @@ - ///< Opens a file handle for the given filter data. - ///< A derived device that provides section data must - ///< implement this function. -+ virtual void CloseFilter(int Handle); -+ ///< Closes a file handle that has previously been opened -+ ///< by OpenFilter(). If this is as simple as calling close(Handle), -+ ///< a derived class need not implement this function, because this -+ ///< is done by the default implementation. - void AttachFilter(cFilter *Filter); - ///< Attaches the given filter to this device. - void Detach(cFilter *Filter); -Index: sections.c -=================================================================== ---- sections.c (Revision 10449) -+++ sections.c (Arbeitskopie) -@@ -105,7 +105,7 @@ - for (fh = filterHandles.First(); fh; fh = filterHandles.Next(fh)) { - if (fh->filterData.Is(FilterData->pid, FilterData->tid, FilterData->mask)) { - if (--fh->used <= 0) { -- close(fh->handle); -+ device->CloseFilter(fh->handle); - filterHandles.Del(fh); - break; - } diff --git a/patches/.svn/text-base/vdr-1.6-device-consistent-destruct.patch.svn-base b/patches/.svn/text-base/vdr-1.6-device-consistent-destruct.patch.svn-base deleted file mode 100644 index 9299be0..0000000 --- a/patches/.svn/text-base/vdr-1.6-device-consistent-destruct.patch.svn-base +++ /dev/null @@ -1,97 +0,0 @@ ---- ../vdr-1.6.0/device.c 2009-01-26 20:26:49.000000000 +0100 -+++ device.c 2009-01-26 22:32:03.000000000 +0100 -@@ -253,14 +253,19 @@ - for (int i = 0; i < MAXRECEIVERS; i++) - receiver[i] = NULL; - -- if (numDevices < MAXDEVICES) -- device[numDevices++] = this; -- else -- esyslog("ERROR: too many devices!"); -+ for (int i = 0; i < MAXDEVICES; i++) -+ if (!device[i]) { -+ device[i] = this; -+ numDevices++; -+ return; -+ } -+ esyslog("ERROR: too many devices!"); - } - - cDevice::~cDevice() - { -+ numDevices--; -+ device[DeviceNumber()] = NULL; - Detach(player); - DetachAllReceivers(); - delete liveSubtitle; -@@ -272,7 +277,7 @@ - { - for (time_t t0 = time(NULL); time(NULL) - t0 < Timeout; ) { - bool ready = true; -- for (int i = 0; i < numDevices; i++) { -+ for (int i = 0; i < MAXDEVICES; i++) { - if (device[i] && !device[i]->Ready()) { - ready = false; - cCondWait::SleepMs(100); -@@ -304,7 +309,7 @@ - - int cDevice::DeviceNumber(void) const - { -- for (int i = 0; i < numDevices; i++) { -+ for (int i = 0; i < MAXDEVICES; i++) { - if (device[i] == this) - return i; - } -@@ -318,7 +323,7 @@ - bool cDevice::SetPrimaryDevice(int n) - { - n--; -- if (0 <= n && n < numDevices && device[n]) { -+ if (0 <= n && n < MAXDEVICES && device[n]) { - isyslog("setting primary device to %d", n + 1); - if (primaryDevice) - primaryDevice->MakePrimaryDevice(false); -@@ -352,7 +357,7 @@ - - cDevice *cDevice::GetDevice(int Index) - { -- return (0 <= Index && Index < numDevices) ? device[Index] : NULL; -+ return (0 <= Index && Index < MAXDEVICES) ? device[Index] : NULL; - } - - cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool LiveView) -@@ -388,8 +393,8 @@ - for (int j = 0; j < NumCamSlots || !NumUsableSlots; j++) { - if (NumUsableSlots && SlotPriority[j] > MAXPRIORITY) - continue; // there is no CAM available in this slot -- for (int i = 0; i < numDevices; i++) { -- if (device[i] == AvoidDevice) -+ for (int i = 0; i < MAXDEVICES; i++) { -+ if (device[i] == NULL || device[i] == AvoidDevice) - continue; // this device shall be temporarily avoided - if (Channel->Ca() && Channel->Ca() <= CA_DVB_MAX && Channel->Ca() != device[i]->CardIndex() + 1) - continue; // a specific card was requested, but not this one -@@ -463,10 +468,11 @@ - void cDevice::Shutdown(void) - { - primaryDevice = NULL; -- for (int i = 0; i < numDevices; i++) { -- delete device[i]; -- device[i] = NULL; -+ for (int i = 0; i < MAXDEVICES; i++) { -+ if( device[i]) { -+ delete device[i]; - } -+ } - } - - uchar *cDevice::GrabImage(int &Size, bool Jpeg, int Quality, int SizeX, int SizeY) -@@ -703,7 +709,7 @@ - - bool cDevice::ProvidesTransponderExclusively(const cChannel *Channel) const - { -- for (int i = 0; i < numDevices; i++) { -+ for (int i = 0; i < MAXDEVICES; i++) { - if (device[i] && device[i] != this && device[i]->ProvidesTransponder(Channel)) - return false; - } diff --git a/patches/.svn/text-base/vdr-1.6-section-read-abstraction.patch.svn-base b/patches/.svn/text-base/vdr-1.6-section-read-abstraction.patch.svn-base deleted file mode 100644 index 3d1bea4..0000000 --- a/patches/.svn/text-base/vdr-1.6-section-read-abstraction.patch.svn-base +++ /dev/null @@ -1,38 +0,0 @@ ---- ../vdr-1.6.0/device.c 2009-01-26 20:26:49.000000000 +0100 -+++ device.c 2009-01-26 23:12:59.000000000 +0100 -@@ -674,6 +680,11 @@ - return -1; - } - -+int cDevice::ReadFilter(int Handle, void *Buffer, size_t Length) -+{ -+ return safe_read(Handle, Buffer, Length); -+} -+ - void cDevice::CloseFilter(int Handle) - { - close(Handle); ---- ../vdr-1.6.0/device.h 2009-01-26 20:26:49.000000000 +0100 -+++ device.h 2009-01-26 23:12:41.000000000 +0100 -@@ -317,6 +317,10 @@ - ///< Opens a file handle for the given filter data. - ///< A derived device that provides section data must - ///< implement this function. -+ virtual int ReadFilter(int Handle, void *Buffer, size_t Length); -+ ///< Read from a handle for the given filter data. -+ ///< a derived class need not implement this function, because this -+ ///< is done by the default implementation. - virtual void CloseFilter(int Handle); - ///< Closes a file handle that has previously been opened - ///< by OpenFilter(). If this is as simple as calling close(Handle), ---- ../vdr-1.6.0/sections.c 2007-10-14 14:52:07.000000000 +0200 -+++ sections.c 2009-01-26 23:14:00.000000000 +0100 -@@ -198,7 +198,7 @@ - if (fh) { - // Read section data: - unsigned char buf[4096]; // max. allowed size for any EIT section -- int r = safe_read(fh->handle, buf, sizeof(buf)); -+ int r = device->ReadFilter(fh->handle, buf, sizeof(buf)); - if (!DeviceHasLock) - continue; // we do the read anyway, to flush any data that might have come from a different transponder - if (r > 3) { // minimum number of bytes necessary to get section length diff --git a/patches/.svn/text-base/vdr-1.6.0-altmenuaction.patch.svn-base b/patches/.svn/text-base/vdr-1.6.0-altmenuaction.patch.svn-base deleted file mode 100644 index 4b06850..0000000 --- a/patches/.svn/text-base/vdr-1.6.0-altmenuaction.patch.svn-base +++ /dev/null @@ -1,38 +0,0 @@ -Index: plugin.h -=================================================================== ---- plugin.h (revision 2072) -+++ plugin.h (working copy) -@@ -45,7 +45,8 @@ - - virtual const char *MainMenuEntry(void); - virtual cOsdObject *MainMenuAction(void); -- -+ virtual cOsdObject *AltMenuAction(void) { return NULL; }; -+ - virtual cMenuSetupPage *SetupMenu(void); - virtual bool SetupParse(const char *Name, const char *Value); - void SetupStore(const char *Name, const char *Value = NULL); -Index: vdr.c -=================================================================== ---- vdr.c (revision 2072) -+++ vdr.c (working copy) -@@ -929,6 +929,19 @@ - Recordings.Update(); - DeletedRecordings.Update(); - } -+ cPlugin *mcliPlugin = cPluginManager::GetPlugin("mcli"); -+ if (mcliPlugin) { -+ if (!ShutdownHandler.countdown) { // if kPower has been pressed, cMenuShutdown takes precedence over other menus -+ cOsdObject *MyMenu = mcliPlugin->AltMenuAction(); -+ if (MyMenu) { // is there any cam-menu waiting? -+ DELETE_MENU; -+ if (cControl::Control()) -+ cControl::Control()->Hide(); -+ Menu = MyMenu; -+ Menu->Show(); -+ } -+ } -+ } - // CAM control: - if (!Menu && !cOsd::IsOpen()) - Menu = CamControl(); diff --git a/patches/.svn/text-base/vdr-1.6.0-intcamdevices.patch.svn-base b/patches/.svn/text-base/vdr-1.6.0-intcamdevices.patch.svn-base deleted file mode 100644 index aab1fb4..0000000 --- a/patches/.svn/text-base/vdr-1.6.0-intcamdevices.patch.svn-base +++ /dev/null @@ -1,78 +0,0 @@ -Index: vdr-1.6.0-nocamdevices/device.c -=================================================================== ---- vdr-1.6.0-nocamdevices/device.c -+++ vdr-1.6.0-nocamdevices/device.c 2008-04-27 18:55:37.000000000 +0300 -@@ -363,6 +363,7 @@ - int NumCamSlots = CamSlots.Count(); - int SlotPriority[NumCamSlots]; - int NumUsableSlots = 0; -+ bool InternalCamNeeded = false; - if (Channel->Ca() >= CA_ENCRYPTED_MIN) { - for (cCamSlot *CamSlot = CamSlots.First(); CamSlot; CamSlot = CamSlots.Next(CamSlot)) { - SlotPriority[CamSlot->Index()] = MAXPRIORITY + 1; // assumes it can't be used -@@ -376,7 +377,7 @@ - } - } - if (!NumUsableSlots) -- return NULL; // no CAM is able to decrypt this channel -+ InternalCamNeeded = true; // no CAM is able to decrypt this channel - } - - bool NeedsDetachReceivers = false; -@@ -392,11 +393,13 @@ - continue; // this device shall be temporarily avoided - if (Channel->Ca() && Channel->Ca() <= CA_DVB_MAX && Channel->Ca() != device[i]->CardIndex() + 1) - continue; // a specific card was requested, but not this one -- if (NumUsableSlots && !CamSlots.Get(j)->Assign(device[i], true)) -+ if (InternalCamNeeded && !device[i]->HasInternalCam()) -+ continue; // no CAM is able to decrypt this channel and the device uses vdr handled CAMs -+ if (NumUsableSlots && !device[i]->HasInternalCam() && !CamSlots.Get(j)->Assign(device[i], true)) - continue; // CAM slot can't be used with this device - bool ndr; - if (device[i]->ProvidesChannel(Channel, Priority, &ndr)) { // this device is basicly able to do the job -- if (NumUsableSlots && device[i]->CamSlot() && device[i]->CamSlot() != CamSlots.Get(j)) -+ if (NumUsableSlots && !device[i]->HasInternalCam() && device[i]->CamSlot() && device[i]->CamSlot() != CamSlots.Get(j)) - ndr = true; // using a different CAM slot requires detaching receivers - // Put together an integer number that reflects the "impact" using - // this device would have on the overall system. Each condition is represented -@@ -410,18 +413,18 @@ - imp <<= 1; imp |= device[i]->Receiving(); // avoid devices that are receiving - imp <<= 1; imp |= device[i] == cTransferControl::ReceiverDevice(); // avoid the Transfer Mode receiver device - imp <<= 8; imp |= min(max(device[i]->Priority() + MAXPRIORITY, 0), 0xFF); // use the device with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used) -- imp <<= 8; imp |= min(max((NumUsableSlots ? SlotPriority[j] : 0) + MAXPRIORITY, 0), 0xFF); // use the CAM slot with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used) -+ imp <<= 8; imp |= min(max(((NumUsableSlots && !device[i]->HasInternalCam()) ? SlotPriority[j] : 0) + MAXPRIORITY, 0), 0xFF); // use the CAM slot with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used) - imp <<= 1; imp |= ndr; // avoid devices if we need to detach existing receivers - imp <<= 1; imp |= device[i]->IsPrimaryDevice(); // avoid the primary device -- imp <<= 1; imp |= NumUsableSlots ? 0 : device[i]->HasCi(); // avoid cards with Common Interface for FTA channels -+ imp <<= 1; imp |= (NumUsableSlots || InternalCamNeeded) ? 0 : device[i]->HasCi(); // avoid cards with Common Interface for FTA channels - imp <<= 1; imp |= device[i]->HasDecoder(); // avoid full featured cards -- imp <<= 1; imp |= NumUsableSlots ? !ChannelCamRelations.CamDecrypt(Channel->GetChannelID(), j + 1) : 0; // prefer CAMs that are known to decrypt this channel -+ imp <<= 1; imp |= (NumUsableSlots && !device[i]->HasInternalCam()) ? !ChannelCamRelations.CamDecrypt(Channel->GetChannelID(), j + 1) : 0; // prefer CAMs that are known to decrypt this channel - if (imp < Impact) { - // This device has less impact than any previous one, so we take it. - Impact = imp; - d = device[i]; - NeedsDetachReceivers = ndr; -- if (NumUsableSlots) -+ if (NumUsableSlots && !device[i]->HasInternalCam()) - s = CamSlots.Get(j); - } - } -Index: vdr-1.6.0-nocamdevices/device.h -=================================================================== ---- vdr-1.6.0-nocamdevices/device.h -+++ vdr-1.6.0-nocamdevices/device.h 2008-04-27 18:55:49.000000000 +0300 -@@ -335,6 +335,12 @@ - public: - virtual bool HasCi(void); - ///< Returns true if this device has a Common Interface. -+ virtual bool HasInternalCam(void) { return false; } -+ ///< Returns true if this device handles encrypted channels itself -+ ///< without VDR assistance. This can be e.g. when the device is a -+ ///< client that gets the stream from another VDR instance that has -+ ///< already decrypted the stream. In this case ProvidesChannel() -+ ///< shall check whether the channel can be decrypted. - void SetCamSlot(cCamSlot *CamSlot); - ///< Sets the given CamSlot to be used with this device. - cCamSlot *CamSlot(void) const { return camSlot; } - |