mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Revert "vdr: update to vdr-1.7.23"
This reverts commit 80e50a3fa212fb349fb58d36f448aa3bbdc45fe9.
This commit is contained in:
parent
edcc84998c
commit
f2cf08f9db
2
packages/3rdparty/multimedia/vdr/meta
vendored
2
packages/3rdparty/multimedia/vdr/meta
vendored
@ -20,7 +20,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr"
|
||||
PKG_VERSION="1.7.23"
|
||||
PKG_VERSION="1.7.22"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -1,7 +1,8 @@
|
||||
diff -Naur vdr-1.7.23/ci.h vdr-1.7.23.patch/ci.h
|
||||
--- vdr-1.7.23/ci.h 2011-12-04 14:38:17.000000000 +0100
|
||||
+++ vdr-1.7.23.patch/ci.h 2012-01-15 20:43:01.098635790 +0100
|
||||
@@ -115,6 +115,8 @@
|
||||
diff --git a/ci.h b/ci.h
|
||||
index 71bbdf9..70303d1 100644
|
||||
--- a/ci.h
|
||||
+++ b/ci.h
|
||||
@@ -115,6 +115,8 @@ public:
|
||||
///< The derived class must call Cancel(3) in its destructor.
|
||||
virtual bool Ready(void);
|
||||
///< Returns 'true' if all present CAMs in this adapter are ready.
|
||||
@ -10,10 +11,11 @@ diff -Naur vdr-1.7.23/ci.h vdr-1.7.23.patch/ci.h
|
||||
};
|
||||
|
||||
class cTPDU;
|
||||
diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
--- vdr-1.7.23/device.c 2011-10-16 16:36:43.000000000 +0200
|
||||
+++ vdr-1.7.23.patch/device.c 2012-01-15 20:43:01.099635807 +0100
|
||||
@@ -72,12 +72,22 @@
|
||||
diff --git a/device.c b/device.c
|
||||
index 0bab66c..60382dd 100644
|
||||
--- a/device.c
|
||||
+++ b/device.c
|
||||
@@ -72,12 +72,22 @@ cDevice *cDevice::device[MAXDEVICES] = { NULL };
|
||||
cDevice *cDevice::primaryDevice = NULL;
|
||||
cDevice *cDevice::avoidDevice = NULL;
|
||||
cList<cDeviceHook> cDevice::deviceHooks;
|
||||
@ -41,7 +43,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
|
||||
SetDescription("receiver on device %d", CardIndex() + 1);
|
||||
|
||||
@@ -110,10 +120,14 @@
|
||||
@@ -110,10 +120,14 @@ cDevice::cDevice(void)
|
||||
for (int i = 0; i < MAXRECEIVERS; i++)
|
||||
receiver[i] = NULL;
|
||||
|
||||
@ -59,7 +61,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
}
|
||||
|
||||
cDevice::~cDevice()
|
||||
@@ -122,6 +136,29 @@
|
||||
@@ -122,6 +136,29 @@ cDevice::~cDevice()
|
||||
DetachAllReceivers();
|
||||
delete liveSubtitle;
|
||||
delete dvbSubtitleConverter;
|
||||
@ -89,7 +91,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
}
|
||||
|
||||
bool cDevice::WaitForAllDevicesReady(int Timeout)
|
||||
@@ -160,6 +197,8 @@
|
||||
@@ -160,6 +197,8 @@ int cDevice::NextCardIndex(int n)
|
||||
|
||||
int cDevice::DeviceNumber(void) const
|
||||
{
|
||||
@ -98,7 +100,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
for (int i = 0; i < numDevices; i++) {
|
||||
if (device[i] == this)
|
||||
return i;
|
||||
@@ -330,6 +369,8 @@
|
||||
@@ -330,6 +369,8 @@ bool cDevice::HasCi(void)
|
||||
|
||||
void cDevice::SetCamSlot(cCamSlot *CamSlot)
|
||||
{
|
||||
@ -107,7 +109,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
camSlot = CamSlot;
|
||||
}
|
||||
|
||||
@@ -533,6 +574,10 @@
|
||||
@@ -533,6 +574,10 @@ bool cDevice::SetPid(cPidHandle *Handle, int Type, bool On)
|
||||
|
||||
void cDevice::StartSectionHandler(void)
|
||||
{
|
||||
@ -118,7 +120,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
if (!sectionHandler) {
|
||||
sectionHandler = new cSectionHandler(this);
|
||||
AttachFilter(eitFilter = new cEitFilter);
|
||||
@@ -544,6 +589,10 @@
|
||||
@@ -544,6 +589,10 @@ void cDevice::StartSectionHandler(void)
|
||||
|
||||
void cDevice::StopSectionHandler(void)
|
||||
{
|
||||
@ -129,7 +131,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
if (sectionHandler) {
|
||||
delete nitFilter;
|
||||
delete sdtFilter;
|
||||
@@ -570,12 +619,17 @@
|
||||
@@ -570,12 +619,17 @@ void cDevice::CloseFilter(int Handle)
|
||||
|
||||
void cDevice::AttachFilter(cFilter *Filter)
|
||||
{
|
||||
@ -147,7 +149,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
if (sectionHandler)
|
||||
sectionHandler->Detach(Filter);
|
||||
}
|
||||
@@ -737,6 +791,7 @@
|
||||
@@ -737,6 +791,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
|
||||
sectionHandler->SetStatus(false);
|
||||
sectionHandler->SetChannel(NULL);
|
||||
}
|
||||
@ -155,7 +157,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
// Tell the camSlot about the channel switch and add all PIDs of this
|
||||
// channel to it, for possible later decryption:
|
||||
if (camSlot)
|
||||
@@ -783,19 +838,27 @@
|
||||
@@ -783,19 +838,27 @@ void cDevice::ForceTransferMode(void)
|
||||
{
|
||||
if (!cTransferControl::ReceiverDevice()) {
|
||||
cChannel *Channel = Channels.GetByNumber(CurrentChannel());
|
||||
@ -184,7 +186,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
if (Seconds >= 0)
|
||||
occupiedTimeout = time(NULL) + min(Seconds, MAXOCCUPIEDTIMEOUT);
|
||||
}
|
||||
@@ -1167,7 +1230,10 @@
|
||||
@@ -1167,7 +1230,10 @@ bool cDevice::Transferring(void) const
|
||||
|
||||
bool cDevice::AttachPlayer(cPlayer *Player)
|
||||
{
|
||||
@ -195,7 +197,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
if (player)
|
||||
Detach(player);
|
||||
DELETENULL(liveSubtitle);
|
||||
@@ -1186,6 +1252,8 @@
|
||||
@@ -1186,6 +1252,8 @@ bool cDevice::AttachPlayer(cPlayer *Player)
|
||||
|
||||
void cDevice::Detach(cPlayer *Player)
|
||||
{
|
||||
@ -204,7 +206,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
if (Player && player == Player) {
|
||||
cPlayer *p = player;
|
||||
player = NULL; // avoids recursive calls to Detach()
|
||||
@@ -1205,6 +1273,8 @@
|
||||
@@ -1205,6 +1273,8 @@ void cDevice::Detach(cPlayer *Player)
|
||||
|
||||
void cDevice::StopReplay(void)
|
||||
{
|
||||
@ -213,7 +215,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
if (player) {
|
||||
Detach(player);
|
||||
if (IsPrimaryDevice())
|
||||
@@ -1487,6 +1557,8 @@
|
||||
@@ -1487,6 +1557,8 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
|
||||
|
||||
int cDevice::Priority(void) const
|
||||
{
|
||||
@ -222,7 +224,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
int priority = IsPrimaryDevice() ? Setup.PrimaryLimit - 1 : DEFAULTPRIORITY;
|
||||
cMutexLock MutexLock(&mutexReceiver);
|
||||
for (int i = 0; i < MAXRECEIVERS; i++) {
|
||||
@@ -1503,6 +1575,8 @@
|
||||
@@ -1503,6 +1575,8 @@ bool cDevice::Ready(void)
|
||||
|
||||
bool cDevice::Receiving(bool CheckAny) const
|
||||
{
|
||||
@ -231,7 +233,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
cMutexLock MutexLock(&mutexReceiver);
|
||||
for (int i = 0; i < MAXRECEIVERS; i++) {
|
||||
if (receiver[i] && (CheckAny || receiver[i]->priority >= 0)) // cReceiver with priority < 0 doesn't count
|
||||
@@ -1583,10 +1657,13 @@
|
||||
@@ -1583,10 +1657,13 @@ bool cDevice::GetTSPacket(uchar *&Data)
|
||||
|
||||
bool cDevice::AttachReceiver(cReceiver *Receiver)
|
||||
{
|
||||
@ -245,7 +247,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
// activate the following line if you need it - actually the driver should be fixed!
|
||||
//#define WAIT_FOR_TUNER_LOCK
|
||||
#ifdef WAIT_FOR_TUNER_LOCK
|
||||
@@ -1625,6 +1702,8 @@
|
||||
@@ -1625,6 +1702,8 @@ bool cDevice::AttachReceiver(cReceiver *Receiver)
|
||||
|
||||
void cDevice::Detach(cReceiver *Receiver)
|
||||
{
|
||||
@ -254,7 +256,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
if (!Receiver || Receiver->device != this)
|
||||
return;
|
||||
bool receiversLeft = false;
|
||||
@@ -1650,6 +1729,8 @@
|
||||
@@ -1650,6 +1729,8 @@ void cDevice::Detach(cReceiver *Receiver)
|
||||
|
||||
void cDevice::DetachAll(int Pid)
|
||||
{
|
||||
@ -263,7 +265,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
if (Pid) {
|
||||
cMutexLock MutexLock(&mutexReceiver);
|
||||
for (int i = 0; i < MAXRECEIVERS; i++) {
|
||||
@@ -1662,6 +1743,8 @@
|
||||
@@ -1662,6 +1743,8 @@ void cDevice::DetachAll(int Pid)
|
||||
|
||||
void cDevice::DetachAllReceivers(void)
|
||||
{
|
||||
@ -272,7 +274,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
cMutexLock MutexLock(&mutexReceiver);
|
||||
for (int i = 0; i < MAXRECEIVERS; i++)
|
||||
Detach(receiver[i]);
|
||||
@@ -1733,3 +1816,25 @@
|
||||
@@ -1733,3 +1816,25 @@ uchar *cTSBuffer::Get(void)
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@ -298,10 +300,11 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
||||
+{
|
||||
+ DynamicDeviceProbes.Del(this, false);
|
||||
+}
|
||||
diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
||||
--- vdr-1.7.23/device.h 2011-12-04 14:38:17.000000000 +0100
|
||||
+++ vdr-1.7.23.patch/device.h 2012-01-15 20:43:01.100635824 +0100
|
||||
@@ -164,7 +164,6 @@
|
||||
diff --git a/device.h b/device.h
|
||||
index e2ff812..1db0d9d 100644
|
||||
--- a/device.h
|
||||
+++ b/device.h
|
||||
@@ -164,7 +164,6 @@ private:
|
||||
static int nextCardIndex;
|
||||
int cardIndex;
|
||||
protected:
|
||||
@ -309,7 +312,7 @@ diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
||||
virtual ~cDevice();
|
||||
virtual bool Ready(void);
|
||||
///< Returns true if this device is ready. Devices with conditional
|
||||
@@ -191,9 +190,6 @@
|
||||
@@ -191,9 +190,6 @@ protected:
|
||||
///< A derived class must call the MakePrimaryDevice() function of its
|
||||
///< base class.
|
||||
public:
|
||||
@ -319,7 +322,7 @@ diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
||||
int DeviceNumber(void) const;
|
||||
///< Returns the number of this device (0 ... numDevices).
|
||||
virtual bool HasDecoder(void) const;
|
||||
@@ -397,9 +393,6 @@
|
||||
@@ -397,9 +393,6 @@ public:
|
||||
///< Returns true if this device has a Common Interface.
|
||||
void SetCamSlot(cCamSlot *CamSlot);
|
||||
///< Sets the given CamSlot to be used with this device.
|
||||
@ -329,7 +332,7 @@ diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
||||
|
||||
// Image Grab facilities
|
||||
|
||||
@@ -555,9 +548,6 @@
|
||||
@@ -555,9 +548,6 @@ private:
|
||||
cTsToPes tsToPesSubtitle;
|
||||
bool isPlayingVideo;
|
||||
protected:
|
||||
@ -339,7 +342,7 @@ diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
||||
virtual bool CanReplay(void) const;
|
||||
///< Returns true if this device can currently start a replay session.
|
||||
virtual bool SetPlayMode(ePlayMode PlayMode);
|
||||
@@ -743,6 +733,38 @@
|
||||
@@ -743,6 +733,38 @@ public:
|
||||
///< Detaches all receivers from this device for this pid.
|
||||
virtual void DetachAllReceivers(void);
|
||||
///< Detaches all receivers from this device.
|
||||
@ -378,7 +381,7 @@ diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
||||
};
|
||||
|
||||
/// Derived cDevice classes that can receive channels will have to provide
|
||||
@@ -766,4 +788,47 @@
|
||||
@@ -766,4 +788,47 @@ public:
|
||||
uchar *Get(void);
|
||||
};
|
||||
|
||||
@ -426,9 +429,10 @@ diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
||||
+extern cList<cDynamicDeviceProbe> DynamicDeviceProbes;
|
||||
+
|
||||
#endif //__DEVICE_H
|
||||
diff -Naur vdr-1.7.23/dvbci.c vdr-1.7.23.patch/dvbci.c
|
||||
--- vdr-1.7.23/dvbci.c 2007-01-04 13:49:10.000000000 +0100
|
||||
+++ vdr-1.7.23.patch/dvbci.c 2012-01-15 20:43:01.101635842 +0100
|
||||
diff --git a/dvbci.c b/dvbci.c
|
||||
index 5289bbd..fea3a83 100644
|
||||
--- a/dvbci.c
|
||||
+++ b/dvbci.c
|
||||
@@ -10,15 +10,18 @@
|
||||
#include "dvbci.h"
|
||||
#include <linux/dvb/ca.h>
|
||||
@ -450,7 +454,7 @@ diff -Naur vdr-1.7.23/dvbci.c vdr-1.7.23.patch/dvbci.c
|
||||
ca_caps_t Caps;
|
||||
if (ioctl(fd, CA_GET_CAP, &Caps) == 0) {
|
||||
if ((Caps.slot_type & CA_CI_LINK) != 0) {
|
||||
@@ -41,10 +44,44 @@
|
||||
@@ -41,10 +44,44 @@ cDvbCiAdapter::cDvbCiAdapter(cDevice *Device, int Fd)
|
||||
cDvbCiAdapter::~cDvbCiAdapter()
|
||||
{
|
||||
Cancel(3);
|
||||
@ -495,7 +499,7 @@ diff -Naur vdr-1.7.23/dvbci.c vdr-1.7.23.patch/dvbci.c
|
||||
if (Buffer && MaxLength > 0) {
|
||||
struct pollfd pfd[1];
|
||||
pfd[0].fd = fd;
|
||||
@@ -61,6 +98,8 @@
|
||||
@@ -61,6 +98,8 @@ int cDvbCiAdapter::Read(uint8_t *Buffer, int MaxLength)
|
||||
|
||||
void cDvbCiAdapter::Write(const uint8_t *Buffer, int Length)
|
||||
{
|
||||
@ -504,7 +508,7 @@ diff -Naur vdr-1.7.23/dvbci.c vdr-1.7.23.patch/dvbci.c
|
||||
if (Buffer && Length > 0) {
|
||||
if (safe_write(fd, Buffer, Length) != Length)
|
||||
esyslog("ERROR: can't write to CI adapter on device %d: %m", device->DeviceNumber());
|
||||
@@ -69,6 +108,8 @@
|
||||
@@ -69,6 +108,8 @@ void cDvbCiAdapter::Write(const uint8_t *Buffer, int Length)
|
||||
|
||||
bool cDvbCiAdapter::Reset(int Slot)
|
||||
{
|
||||
@ -513,7 +517,7 @@ diff -Naur vdr-1.7.23/dvbci.c vdr-1.7.23.patch/dvbci.c
|
||||
if (ioctl(fd, CA_RESET, 1 << Slot) != -1)
|
||||
return true;
|
||||
else
|
||||
@@ -78,6 +119,8 @@
|
||||
@@ -78,6 +119,8 @@ bool cDvbCiAdapter::Reset(int Slot)
|
||||
|
||||
eModuleStatus cDvbCiAdapter::ModuleStatus(int Slot)
|
||||
{
|
||||
@ -522,7 +526,7 @@ diff -Naur vdr-1.7.23/dvbci.c vdr-1.7.23.patch/dvbci.c
|
||||
ca_slot_info_t sinfo;
|
||||
sinfo.num = Slot;
|
||||
if (ioctl(fd, CA_GET_SLOT_INFO, &sinfo) != -1) {
|
||||
@@ -99,10 +142,10 @@
|
||||
@@ -99,10 +142,10 @@ bool cDvbCiAdapter::Assign(cDevice *Device, bool Query)
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -535,10 +539,11 @@ diff -Naur vdr-1.7.23/dvbci.c vdr-1.7.23.patch/dvbci.c
|
||||
+ return new cDvbCiAdapter(Device, Fd, Adapter, Frontend);
|
||||
return NULL;
|
||||
}
|
||||
diff -Naur vdr-1.7.23/dvbci.h vdr-1.7.23.patch/dvbci.h
|
||||
--- vdr-1.7.23/dvbci.h 2006-11-26 12:19:42.000000000 +0100
|
||||
+++ vdr-1.7.23.patch/dvbci.h 2012-01-15 20:43:01.101635842 +0100
|
||||
@@ -16,16 +16,24 @@
|
||||
diff --git a/dvbci.h b/dvbci.h
|
||||
index adbe40d..6d117b2 100644
|
||||
--- a/dvbci.h
|
||||
+++ b/dvbci.h
|
||||
@@ -16,16 +16,24 @@ class cDvbCiAdapter : public cCiAdapter {
|
||||
private:
|
||||
cDevice *device;
|
||||
int fd;
|
||||
@ -565,12 +570,13 @@ diff -Naur vdr-1.7.23/dvbci.h vdr-1.7.23.patch/dvbci.h
|
||||
};
|
||||
|
||||
#endif //__DVBCI_H
|
||||
diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
--- vdr-1.7.23/dvbdevice.c 2012-01-15 15:31:47.000000000 +0100
|
||||
+++ vdr-1.7.23.patch/dvbdevice.c 2012-01-15 20:43:56.452618963 +0100
|
||||
@@ -305,12 +305,16 @@
|
||||
diff --git a/dvbdevice.c b/dvbdevice.c
|
||||
index 163fce3..fd3f212 100644
|
||||
--- a/dvbdevice.c
|
||||
+++ b/dvbdevice.c
|
||||
@@ -280,12 +280,16 @@ private:
|
||||
bool bondedMaster;
|
||||
bool bondedMasterFailed;
|
||||
bool SetFrontendType(const cChannel *Channel);
|
||||
cString GetBondingParams(const cChannel *Channel = NULL) const;
|
||||
- void ClearEventQueue(void) const;
|
||||
- bool GetFrontendStatus(fe_status_t &Status) const;
|
||||
@ -585,9 +591,9 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
+ bool OpenFrontend(void);
|
||||
+ bool CloseFrontend(void);
|
||||
public:
|
||||
cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int Frontend);
|
||||
cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int Frontend, fe_delivery_system FrontendType);
|
||||
virtual ~cDvbTuner();
|
||||
@@ -323,8 +327,11 @@
|
||||
@@ -298,8 +302,11 @@ public:
|
||||
bool IsTunedTo(const cChannel *Channel) const;
|
||||
void SetChannel(const cChannel *Channel);
|
||||
bool Locked(int TimeoutMs = 0);
|
||||
@ -601,15 +607,15 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
};
|
||||
|
||||
cMutex cDvbTuner::bondMutex;
|
||||
@@ -346,6 +353,7 @@
|
||||
@@ -321,6 +328,7 @@ cDvbTuner::cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int
|
||||
bondedTuner = NULL;
|
||||
bondedMaster = false;
|
||||
bondedMasterFailed = false;
|
||||
+ isIdle = false;
|
||||
if (frontendType == SYS_DVBS || frontendType == SYS_DVBS2)
|
||||
ResetToneAndVoltage(); // must explicitly turn on LNB power
|
||||
SetDescription("tuner on frontend %d/%d", adapter, frontend);
|
||||
Start();
|
||||
}
|
||||
@@ -363,6 +371,8 @@
|
||||
@@ -340,6 +348,8 @@ cDvbTuner::~cDvbTuner()
|
||||
ExecuteDiseqc(lastDiseqc, &Frequency);
|
||||
}
|
||||
*/
|
||||
@ -618,7 +624,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
}
|
||||
|
||||
bool cDvbTuner::Bond(cDvbTuner *Tuner)
|
||||
@@ -516,8 +526,10 @@
|
||||
@@ -497,8 +507,10 @@ bool cDvbTuner::Locked(int TimeoutMs)
|
||||
return tunerStatus >= tsLocked;
|
||||
}
|
||||
|
||||
@ -630,7 +636,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
cPoller Poller(fd_frontend);
|
||||
if (Poller.Poll(TUNER_POLL_TIMEOUT)) {
|
||||
dvb_frontend_event Event;
|
||||
@@ -526,7 +538,7 @@
|
||||
@@ -507,7 +519,7 @@ void cDvbTuner::ClearEventQueue(void) const
|
||||
}
|
||||
}
|
||||
|
||||
@ -639,7 +645,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
{
|
||||
ClearEventQueue();
|
||||
while (1) {
|
||||
@@ -541,7 +553,7 @@
|
||||
@@ -522,7 +534,7 @@ bool cDvbTuner::GetFrontendStatus(fe_status_t &Status) const
|
||||
//#define DEBUG_SIGNALSTRENGTH
|
||||
//#define DEBUG_SIGNALQUALITY
|
||||
|
||||
@ -648,7 +654,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
{
|
||||
ClearEventQueue();
|
||||
uint16_t Signal;
|
||||
@@ -568,7 +580,7 @@
|
||||
@@ -549,7 +561,7 @@ int cDvbTuner::GetSignalStrength(void) const
|
||||
|
||||
#define LOCK_THRESHOLD 5 // indicates that all 5 FE_HAS_* flags are set
|
||||
|
||||
@ -657,7 +663,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
{
|
||||
fe_status_t Status;
|
||||
if (GetFrontendStatus(Status)) {
|
||||
@@ -708,6 +720,8 @@
|
||||
@@ -664,6 +676,8 @@ void cDvbTuner::ResetToneAndVoltage(void)
|
||||
|
||||
bool cDvbTuner::SetFrontend(void)
|
||||
{
|
||||
@ -666,7 +672,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
#define MAXFRONTENDCMDS 16
|
||||
#define SETCMD(c, d) { Frontend[CmdSeq.num].cmd = (c);\
|
||||
Frontend[CmdSeq.num].u.data = (d);\
|
||||
@@ -853,9 +867,11 @@
|
||||
@@ -809,9 +823,11 @@ void cDvbTuner::Action(void)
|
||||
bool LostLock = false;
|
||||
fe_status_t Status = (fe_status_t)0;
|
||||
while (Running()) {
|
||||
@ -681,7 +687,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
cMutexLock MutexLock(&mutex);
|
||||
switch (tunerStatus) {
|
||||
case tsIdle:
|
||||
@@ -911,6 +927,42 @@
|
||||
@@ -867,6 +883,42 @@ void cDvbTuner::Action(void)
|
||||
}
|
||||
}
|
||||
|
||||
@ -724,7 +730,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
// --- cDvbSourceParam -------------------------------------------------------
|
||||
|
||||
class cDvbSourceParam : public cSourceParam {
|
||||
@@ -996,7 +1048,8 @@
|
||||
@@ -948,7 +1000,8 @@ const char *DeliverySystems[] = {
|
||||
NULL
|
||||
};
|
||||
|
||||
@ -734,7 +740,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
{
|
||||
adapter = Adapter;
|
||||
frontend = Frontend;
|
||||
@@ -1015,7 +1068,7 @@
|
||||
@@ -967,7 +1020,7 @@ cDvbDevice::cDvbDevice(int Adapter, int Frontend)
|
||||
|
||||
fd_ca = DvbOpen(DEV_DVB_CA, adapter, frontend, O_RDWR);
|
||||
if (fd_ca >= 0)
|
||||
@ -743,7 +749,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
|
||||
// The DVR device (will be opened and closed as needed):
|
||||
|
||||
@@ -1208,7 +1261,11 @@
|
||||
@@ -1123,7 +1176,11 @@ bool cDvbDevice::BondDevices(const char *Bondings)
|
||||
if (d >= 0) {
|
||||
int ErrorDevice = 0;
|
||||
if (cDevice *Device1 = cDevice::GetDevice(i)) {
|
||||
@ -754,8 +760,8 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
+ Device2 = Device2->SubDevice();
|
||||
if (cDvbDevice *DvbDevice1 = dynamic_cast<cDvbDevice *>(Device1)) {
|
||||
if (cDvbDevice *DvbDevice2 = dynamic_cast<cDvbDevice *>(Device2)) {
|
||||
if (!DvbDevice1->Bond(DvbDevice2))
|
||||
@@ -1242,7 +1299,10 @@
|
||||
if (!DvbDevice2->Bond(DvbDevice1))
|
||||
@@ -1157,7 +1214,10 @@ bool cDvbDevice::BondDevices(const char *Bondings)
|
||||
void cDvbDevice::UnBondDevices(void)
|
||||
{
|
||||
for (int i = 0; i < cDevice::NumDevices(); i++) {
|
||||
@ -767,7 +773,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
d->UnBond();
|
||||
}
|
||||
}
|
||||
@@ -1296,6 +1356,26 @@
|
||||
@@ -1211,6 +1271,26 @@ bool cDvbDevice::BondingOk(const cChannel *Channel, bool ConsiderOccupied) const
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -794,7 +800,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
bool cDvbDevice::HasCi(void)
|
||||
{
|
||||
return ciAdapter;
|
||||
@@ -1464,7 +1544,7 @@
|
||||
@@ -1370,7 +1450,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
|
||||
|
||||
bool cDvbDevice::ProvidesEIT(void) const
|
||||
{
|
||||
@ -803,10 +809,11 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
||||
}
|
||||
|
||||
int cDvbDevice::NumProvidedSystems(void) const
|
||||
diff -Naur vdr-1.7.23/dvbdevice.h vdr-1.7.23.patch/dvbdevice.h
|
||||
--- vdr-1.7.23/dvbdevice.h 2012-01-13 12:32:45.000000000 +0100
|
||||
+++ vdr-1.7.23.patch/dvbdevice.h 2012-01-15 20:45:09.239911783 +0100
|
||||
@@ -106,7 +106,7 @@
|
||||
diff --git a/dvbdevice.h b/dvbdevice.h
|
||||
index 2072ab2..d9f6e8d 100644
|
||||
--- a/dvbdevice.h
|
||||
+++ b/dvbdevice.h
|
||||
@@ -102,7 +102,7 @@ class cDvbTuner;
|
||||
/// The cDvbDevice implements a DVB device which can be accessed through the Linux DVB driver API.
|
||||
|
||||
class cDvbDevice : public cDevice {
|
||||
@ -815,15 +822,13 @@ diff -Naur vdr-1.7.23/dvbdevice.h vdr-1.7.23.patch/dvbdevice.h
|
||||
static cString DvbName(const char *Name, int Adapter, int Frontend);
|
||||
static int DvbOpen(const char *Name, int Adapter, int Frontend, int Mode, bool ReportError = false);
|
||||
private:
|
||||
@@ -132,11 +132,13 @@
|
||||
@@ -126,9 +126,11 @@ private:
|
||||
cDvbDevice *bondedDevice;
|
||||
mutable bool needsDetachBondedReceivers;
|
||||
bool QueryDeliverySystems(int fd_frontend);
|
||||
public:
|
||||
- cDvbDevice(int Adapter, int Frontend);
|
||||
+ cDvbDevice(int Adapter, int Frontend, cDevice *ParentDevice = NULL);
|
||||
virtual ~cDvbDevice();
|
||||
int Adapter(void) const { return adapter; }
|
||||
int Frontend(void) const { return frontend; }
|
||||
virtual bool Ready(void);
|
||||
+ virtual bool SetIdleDevice(bool Idle, bool TestOnly);
|
||||
+
|
Loading…
x
Reference in New Issue
Block a user