mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +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_NAME="vdr"
|
||||||
PKG_VERSION="1.7.23"
|
PKG_VERSION="1.7.22"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
diff -Naur vdr-1.7.23/ci.h vdr-1.7.23.patch/ci.h
|
diff --git a/ci.h b/ci.h
|
||||||
--- vdr-1.7.23/ci.h 2011-12-04 14:38:17.000000000 +0100
|
index 71bbdf9..70303d1 100644
|
||||||
+++ vdr-1.7.23.patch/ci.h 2012-01-15 20:43:01.098635790 +0100
|
--- a/ci.h
|
||||||
@@ -115,6 +115,8 @@
|
+++ b/ci.h
|
||||||
|
@@ -115,6 +115,8 @@ public:
|
||||||
///< The derived class must call Cancel(3) in its destructor.
|
///< The derived class must call Cancel(3) in its destructor.
|
||||||
virtual bool Ready(void);
|
virtual bool Ready(void);
|
||||||
///< Returns 'true' if all present CAMs in this adapter are ready.
|
///< 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;
|
class cTPDU;
|
||||||
diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
diff --git a/device.c b/device.c
|
||||||
--- vdr-1.7.23/device.c 2011-10-16 16:36:43.000000000 +0200
|
index 0bab66c..60382dd 100644
|
||||||
+++ vdr-1.7.23.patch/device.c 2012-01-15 20:43:01.099635807 +0100
|
--- a/device.c
|
||||||
@@ -72,12 +72,22 @@
|
+++ b/device.c
|
||||||
|
@@ -72,12 +72,22 @@ cDevice *cDevice::device[MAXDEVICES] = { NULL };
|
||||||
cDevice *cDevice::primaryDevice = NULL;
|
cDevice *cDevice::primaryDevice = NULL;
|
||||||
cDevice *cDevice::avoidDevice = NULL;
|
cDevice *cDevice::avoidDevice = NULL;
|
||||||
cList<cDeviceHook> cDevice::deviceHooks;
|
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);
|
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++)
|
for (int i = 0; i < MAXRECEIVERS; i++)
|
||||||
receiver[i] = NULL;
|
receiver[i] = NULL;
|
||||||
|
|
||||||
@ -59,7 +61,7 @@ diff -Naur vdr-1.7.23/device.c vdr-1.7.23.patch/device.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
cDevice::~cDevice()
|
cDevice::~cDevice()
|
||||||
@@ -122,6 +136,29 @@
|
@@ -122,6 +136,29 @@ cDevice::~cDevice()
|
||||||
DetachAllReceivers();
|
DetachAllReceivers();
|
||||||
delete liveSubtitle;
|
delete liveSubtitle;
|
||||||
delete dvbSubtitleConverter;
|
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)
|
bool cDevice::WaitForAllDevicesReady(int Timeout)
|
||||||
@@ -160,6 +197,8 @@
|
@@ -160,6 +197,8 @@ int cDevice::NextCardIndex(int n)
|
||||||
|
|
||||||
int cDevice::DeviceNumber(void) const
|
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++) {
|
for (int i = 0; i < numDevices; i++) {
|
||||||
if (device[i] == this)
|
if (device[i] == this)
|
||||||
return i;
|
return i;
|
||||||
@@ -330,6 +369,8 @@
|
@@ -330,6 +369,8 @@ bool cDevice::HasCi(void)
|
||||||
|
|
||||||
void cDevice::SetCamSlot(cCamSlot *CamSlot)
|
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;
|
camSlot = CamSlot;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -533,6 +574,10 @@
|
@@ -533,6 +574,10 @@ bool cDevice::SetPid(cPidHandle *Handle, int Type, bool On)
|
||||||
|
|
||||||
void cDevice::StartSectionHandler(void)
|
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) {
|
if (!sectionHandler) {
|
||||||
sectionHandler = new cSectionHandler(this);
|
sectionHandler = new cSectionHandler(this);
|
||||||
AttachFilter(eitFilter = new cEitFilter);
|
AttachFilter(eitFilter = new cEitFilter);
|
||||||
@@ -544,6 +589,10 @@
|
@@ -544,6 +589,10 @@ void cDevice::StartSectionHandler(void)
|
||||||
|
|
||||||
void cDevice::StopSectionHandler(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) {
|
if (sectionHandler) {
|
||||||
delete nitFilter;
|
delete nitFilter;
|
||||||
delete sdtFilter;
|
delete sdtFilter;
|
||||||
@@ -570,12 +619,17 @@
|
@@ -570,12 +619,17 @@ void cDevice::CloseFilter(int Handle)
|
||||||
|
|
||||||
void cDevice::AttachFilter(cFilter *Filter)
|
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)
|
if (sectionHandler)
|
||||||
sectionHandler->Detach(Filter);
|
sectionHandler->Detach(Filter);
|
||||||
}
|
}
|
||||||
@@ -737,6 +791,7 @@
|
@@ -737,6 +791,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
|
||||||
sectionHandler->SetStatus(false);
|
sectionHandler->SetStatus(false);
|
||||||
sectionHandler->SetChannel(NULL);
|
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
|
// Tell the camSlot about the channel switch and add all PIDs of this
|
||||||
// channel to it, for possible later decryption:
|
// channel to it, for possible later decryption:
|
||||||
if (camSlot)
|
if (camSlot)
|
||||||
@@ -783,19 +838,27 @@
|
@@ -783,19 +838,27 @@ void cDevice::ForceTransferMode(void)
|
||||||
{
|
{
|
||||||
if (!cTransferControl::ReceiverDevice()) {
|
if (!cTransferControl::ReceiverDevice()) {
|
||||||
cChannel *Channel = Channels.GetByNumber(CurrentChannel());
|
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)
|
if (Seconds >= 0)
|
||||||
occupiedTimeout = time(NULL) + min(Seconds, MAXOCCUPIEDTIMEOUT);
|
occupiedTimeout = time(NULL) + min(Seconds, MAXOCCUPIEDTIMEOUT);
|
||||||
}
|
}
|
||||||
@@ -1167,7 +1230,10 @@
|
@@ -1167,7 +1230,10 @@ bool cDevice::Transferring(void) const
|
||||||
|
|
||||||
bool cDevice::AttachPlayer(cPlayer *Player)
|
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)
|
if (player)
|
||||||
Detach(player);
|
Detach(player);
|
||||||
DELETENULL(liveSubtitle);
|
DELETENULL(liveSubtitle);
|
||||||
@@ -1186,6 +1252,8 @@
|
@@ -1186,6 +1252,8 @@ bool cDevice::AttachPlayer(cPlayer *Player)
|
||||||
|
|
||||||
void cDevice::Detach(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) {
|
if (Player && player == Player) {
|
||||||
cPlayer *p = player;
|
cPlayer *p = player;
|
||||||
player = NULL; // avoids recursive calls to Detach()
|
player = NULL; // avoids recursive calls to Detach()
|
||||||
@@ -1205,6 +1273,8 @@
|
@@ -1205,6 +1273,8 @@ void cDevice::Detach(cPlayer *Player)
|
||||||
|
|
||||||
void cDevice::StopReplay(void)
|
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) {
|
if (player) {
|
||||||
Detach(player);
|
Detach(player);
|
||||||
if (IsPrimaryDevice())
|
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
|
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;
|
int priority = IsPrimaryDevice() ? Setup.PrimaryLimit - 1 : DEFAULTPRIORITY;
|
||||||
cMutexLock MutexLock(&mutexReceiver);
|
cMutexLock MutexLock(&mutexReceiver);
|
||||||
for (int i = 0; i < MAXRECEIVERS; i++) {
|
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
|
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);
|
cMutexLock MutexLock(&mutexReceiver);
|
||||||
for (int i = 0; i < MAXRECEIVERS; i++) {
|
for (int i = 0; i < MAXRECEIVERS; i++) {
|
||||||
if (receiver[i] && (CheckAny || receiver[i]->priority >= 0)) // cReceiver with priority < 0 doesn't count
|
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)
|
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!
|
// activate the following line if you need it - actually the driver should be fixed!
|
||||||
//#define WAIT_FOR_TUNER_LOCK
|
//#define WAIT_FOR_TUNER_LOCK
|
||||||
#ifdef 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)
|
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)
|
if (!Receiver || Receiver->device != this)
|
||||||
return;
|
return;
|
||||||
bool receiversLeft = false;
|
bool receiversLeft = false;
|
||||||
@@ -1650,6 +1729,8 @@
|
@@ -1650,6 +1729,8 @@ void cDevice::Detach(cReceiver *Receiver)
|
||||||
|
|
||||||
void cDevice::DetachAll(int Pid)
|
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) {
|
if (Pid) {
|
||||||
cMutexLock MutexLock(&mutexReceiver);
|
cMutexLock MutexLock(&mutexReceiver);
|
||||||
for (int i = 0; i < MAXRECEIVERS; i++) {
|
for (int i = 0; i < MAXRECEIVERS; i++) {
|
||||||
@@ -1662,6 +1743,8 @@
|
@@ -1662,6 +1743,8 @@ void cDevice::DetachAll(int Pid)
|
||||||
|
|
||||||
void cDevice::DetachAllReceivers(void)
|
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);
|
cMutexLock MutexLock(&mutexReceiver);
|
||||||
for (int i = 0; i < MAXRECEIVERS; i++)
|
for (int i = 0; i < MAXRECEIVERS; i++)
|
||||||
Detach(receiver[i]);
|
Detach(receiver[i]);
|
||||||
@@ -1733,3 +1816,25 @@
|
@@ -1733,3 +1816,25 @@ uchar *cTSBuffer::Get(void)
|
||||||
}
|
}
|
||||||
return NULL;
|
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);
|
+ DynamicDeviceProbes.Del(this, false);
|
||||||
+}
|
+}
|
||||||
diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
diff --git a/device.h b/device.h
|
||||||
--- vdr-1.7.23/device.h 2011-12-04 14:38:17.000000000 +0100
|
index e2ff812..1db0d9d 100644
|
||||||
+++ vdr-1.7.23.patch/device.h 2012-01-15 20:43:01.100635824 +0100
|
--- a/device.h
|
||||||
@@ -164,7 +164,6 @@
|
+++ b/device.h
|
||||||
|
@@ -164,7 +164,6 @@ private:
|
||||||
static int nextCardIndex;
|
static int nextCardIndex;
|
||||||
int cardIndex;
|
int cardIndex;
|
||||||
protected:
|
protected:
|
||||||
@ -309,7 +312,7 @@ diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
|||||||
virtual ~cDevice();
|
virtual ~cDevice();
|
||||||
virtual bool Ready(void);
|
virtual bool Ready(void);
|
||||||
///< Returns true if this device is ready. Devices with conditional
|
///< 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
|
///< A derived class must call the MakePrimaryDevice() function of its
|
||||||
///< base class.
|
///< base class.
|
||||||
public:
|
public:
|
||||||
@ -319,7 +322,7 @@ diff -Naur vdr-1.7.23/device.h vdr-1.7.23.patch/device.h
|
|||||||
int DeviceNumber(void) const;
|
int DeviceNumber(void) const;
|
||||||
///< Returns the number of this device (0 ... numDevices).
|
///< Returns the number of this device (0 ... numDevices).
|
||||||
virtual bool HasDecoder(void) const;
|
virtual bool HasDecoder(void) const;
|
||||||
@@ -397,9 +393,6 @@
|
@@ -397,9 +393,6 @@ public:
|
||||||
///< Returns true if this device has a Common Interface.
|
///< Returns true if this device has a Common Interface.
|
||||||
void SetCamSlot(cCamSlot *CamSlot);
|
void SetCamSlot(cCamSlot *CamSlot);
|
||||||
///< Sets the given CamSlot to be used with this device.
|
///< 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
|
// Image Grab facilities
|
||||||
|
|
||||||
@@ -555,9 +548,6 @@
|
@@ -555,9 +548,6 @@ private:
|
||||||
cTsToPes tsToPesSubtitle;
|
cTsToPes tsToPesSubtitle;
|
||||||
bool isPlayingVideo;
|
bool isPlayingVideo;
|
||||||
protected:
|
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;
|
virtual bool CanReplay(void) const;
|
||||||
///< Returns true if this device can currently start a replay session.
|
///< Returns true if this device can currently start a replay session.
|
||||||
virtual bool SetPlayMode(ePlayMode PlayMode);
|
virtual bool SetPlayMode(ePlayMode PlayMode);
|
||||||
@@ -743,6 +733,38 @@
|
@@ -743,6 +733,38 @@ public:
|
||||||
///< Detaches all receivers from this device for this pid.
|
///< Detaches all receivers from this device for this pid.
|
||||||
virtual void DetachAllReceivers(void);
|
virtual void DetachAllReceivers(void);
|
||||||
///< Detaches all receivers from this device.
|
///< 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
|
/// Derived cDevice classes that can receive channels will have to provide
|
||||||
@@ -766,4 +788,47 @@
|
@@ -766,4 +788,47 @@ public:
|
||||||
uchar *Get(void);
|
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;
|
+extern cList<cDynamicDeviceProbe> DynamicDeviceProbes;
|
||||||
+
|
+
|
||||||
#endif //__DEVICE_H
|
#endif //__DEVICE_H
|
||||||
diff -Naur vdr-1.7.23/dvbci.c vdr-1.7.23.patch/dvbci.c
|
diff --git a/dvbci.c b/dvbci.c
|
||||||
--- vdr-1.7.23/dvbci.c 2007-01-04 13:49:10.000000000 +0100
|
index 5289bbd..fea3a83 100644
|
||||||
+++ vdr-1.7.23.patch/dvbci.c 2012-01-15 20:43:01.101635842 +0100
|
--- a/dvbci.c
|
||||||
|
+++ b/dvbci.c
|
||||||
@@ -10,15 +10,18 @@
|
@@ -10,15 +10,18 @@
|
||||||
#include "dvbci.h"
|
#include "dvbci.h"
|
||||||
#include <linux/dvb/ca.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;
|
ca_caps_t Caps;
|
||||||
if (ioctl(fd, CA_GET_CAP, &Caps) == 0) {
|
if (ioctl(fd, CA_GET_CAP, &Caps) == 0) {
|
||||||
if ((Caps.slot_type & CA_CI_LINK) != 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()
|
cDvbCiAdapter::~cDvbCiAdapter()
|
||||||
{
|
{
|
||||||
Cancel(3);
|
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) {
|
if (Buffer && MaxLength > 0) {
|
||||||
struct pollfd pfd[1];
|
struct pollfd pfd[1];
|
||||||
pfd[0].fd = fd;
|
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)
|
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 (Buffer && Length > 0) {
|
||||||
if (safe_write(fd, Buffer, Length) != Length)
|
if (safe_write(fd, Buffer, Length) != Length)
|
||||||
esyslog("ERROR: can't write to CI adapter on device %d: %m", device->DeviceNumber());
|
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)
|
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)
|
if (ioctl(fd, CA_RESET, 1 << Slot) != -1)
|
||||||
return true;
|
return true;
|
||||||
else
|
else
|
||||||
@@ -78,6 +119,8 @@
|
@@ -78,6 +119,8 @@ bool cDvbCiAdapter::Reset(int Slot)
|
||||||
|
|
||||||
eModuleStatus cDvbCiAdapter::ModuleStatus(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;
|
ca_slot_info_t sinfo;
|
||||||
sinfo.num = Slot;
|
sinfo.num = Slot;
|
||||||
if (ioctl(fd, CA_GET_SLOT_INFO, &sinfo) != -1) {
|
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;
|
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 new cDvbCiAdapter(Device, Fd, Adapter, Frontend);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
diff -Naur vdr-1.7.23/dvbci.h vdr-1.7.23.patch/dvbci.h
|
diff --git a/dvbci.h b/dvbci.h
|
||||||
--- vdr-1.7.23/dvbci.h 2006-11-26 12:19:42.000000000 +0100
|
index adbe40d..6d117b2 100644
|
||||||
+++ vdr-1.7.23.patch/dvbci.h 2012-01-15 20:43:01.101635842 +0100
|
--- a/dvbci.h
|
||||||
@@ -16,16 +16,24 @@
|
+++ b/dvbci.h
|
||||||
|
@@ -16,16 +16,24 @@ class cDvbCiAdapter : public cCiAdapter {
|
||||||
private:
|
private:
|
||||||
cDevice *device;
|
cDevice *device;
|
||||||
int fd;
|
int fd;
|
||||||
@ -565,12 +570,13 @@ diff -Naur vdr-1.7.23/dvbci.h vdr-1.7.23.patch/dvbci.h
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif //__DVBCI_H
|
#endif //__DVBCI_H
|
||||||
diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
diff --git a/dvbdevice.c b/dvbdevice.c
|
||||||
--- vdr-1.7.23/dvbdevice.c 2012-01-15 15:31:47.000000000 +0100
|
index 163fce3..fd3f212 100644
|
||||||
+++ vdr-1.7.23.patch/dvbdevice.c 2012-01-15 20:43:56.452618963 +0100
|
--- a/dvbdevice.c
|
||||||
@@ -305,12 +305,16 @@
|
+++ b/dvbdevice.c
|
||||||
|
@@ -280,12 +280,16 @@ private:
|
||||||
|
bool bondedMaster;
|
||||||
bool bondedMasterFailed;
|
bool bondedMasterFailed;
|
||||||
bool SetFrontendType(const cChannel *Channel);
|
|
||||||
cString GetBondingParams(const cChannel *Channel = NULL) const;
|
cString GetBondingParams(const cChannel *Channel = NULL) const;
|
||||||
- void ClearEventQueue(void) const;
|
- void ClearEventQueue(void) const;
|
||||||
- bool GetFrontendStatus(fe_status_t &Status) 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 OpenFrontend(void);
|
||||||
+ bool CloseFrontend(void);
|
+ bool CloseFrontend(void);
|
||||||
public:
|
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();
|
virtual ~cDvbTuner();
|
||||||
@@ -323,8 +327,11 @@
|
@@ -298,8 +302,11 @@ public:
|
||||||
bool IsTunedTo(const cChannel *Channel) const;
|
bool IsTunedTo(const cChannel *Channel) const;
|
||||||
void SetChannel(const cChannel *Channel);
|
void SetChannel(const cChannel *Channel);
|
||||||
bool Locked(int TimeoutMs = 0);
|
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;
|
cMutex cDvbTuner::bondMutex;
|
||||||
@@ -346,6 +353,7 @@
|
@@ -321,6 +328,7 @@ cDvbTuner::cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int
|
||||||
bondedTuner = NULL;
|
bondedTuner = NULL;
|
||||||
bondedMaster = false;
|
bondedMaster = false;
|
||||||
bondedMasterFailed = false;
|
bondedMasterFailed = false;
|
||||||
+ isIdle = 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);
|
SetDescription("tuner on frontend %d/%d", adapter, frontend);
|
||||||
Start();
|
@@ -340,6 +348,8 @@ cDvbTuner::~cDvbTuner()
|
||||||
}
|
|
||||||
@@ -363,6 +371,8 @@
|
|
||||||
ExecuteDiseqc(lastDiseqc, &Frequency);
|
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)
|
bool cDvbTuner::Bond(cDvbTuner *Tuner)
|
||||||
@@ -516,8 +526,10 @@
|
@@ -497,8 +507,10 @@ bool cDvbTuner::Locked(int TimeoutMs)
|
||||||
return tunerStatus >= tsLocked;
|
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);
|
cPoller Poller(fd_frontend);
|
||||||
if (Poller.Poll(TUNER_POLL_TIMEOUT)) {
|
if (Poller.Poll(TUNER_POLL_TIMEOUT)) {
|
||||||
dvb_frontend_event Event;
|
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();
|
ClearEventQueue();
|
||||||
while (1) {
|
while (1) {
|
||||||
@@ -541,7 +553,7 @@
|
@@ -522,7 +534,7 @@ bool cDvbTuner::GetFrontendStatus(fe_status_t &Status) const
|
||||||
//#define DEBUG_SIGNALSTRENGTH
|
//#define DEBUG_SIGNALSTRENGTH
|
||||||
//#define DEBUG_SIGNALQUALITY
|
//#define DEBUG_SIGNALQUALITY
|
||||||
|
|
||||||
@ -648,7 +654,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
|||||||
{
|
{
|
||||||
ClearEventQueue();
|
ClearEventQueue();
|
||||||
uint16_t Signal;
|
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
|
#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;
|
fe_status_t Status;
|
||||||
if (GetFrontendStatus(Status)) {
|
if (GetFrontendStatus(Status)) {
|
||||||
@@ -708,6 +720,8 @@
|
@@ -664,6 +676,8 @@ void cDvbTuner::ResetToneAndVoltage(void)
|
||||||
|
|
||||||
bool cDvbTuner::SetFrontend(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 MAXFRONTENDCMDS 16
|
||||||
#define SETCMD(c, d) { Frontend[CmdSeq.num].cmd = (c);\
|
#define SETCMD(c, d) { Frontend[CmdSeq.num].cmd = (c);\
|
||||||
Frontend[CmdSeq.num].u.data = (d);\
|
Frontend[CmdSeq.num].u.data = (d);\
|
||||||
@@ -853,9 +867,11 @@
|
@@ -809,9 +823,11 @@ void cDvbTuner::Action(void)
|
||||||
bool LostLock = false;
|
bool LostLock = false;
|
||||||
fe_status_t Status = (fe_status_t)0;
|
fe_status_t Status = (fe_status_t)0;
|
||||||
while (Running()) {
|
while (Running()) {
|
||||||
@ -681,7 +687,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
|||||||
cMutexLock MutexLock(&mutex);
|
cMutexLock MutexLock(&mutex);
|
||||||
switch (tunerStatus) {
|
switch (tunerStatus) {
|
||||||
case tsIdle:
|
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 -------------------------------------------------------
|
// --- cDvbSourceParam -------------------------------------------------------
|
||||||
|
|
||||||
class cDvbSourceParam : public cSourceParam {
|
class cDvbSourceParam : public cSourceParam {
|
||||||
@@ -996,7 +1048,8 @@
|
@@ -948,7 +1000,8 @@ const char *DeliverySystems[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -734,7 +740,7 @@ diff -Naur vdr-1.7.23/dvbdevice.c vdr-1.7.23.patch/dvbdevice.c
|
|||||||
{
|
{
|
||||||
adapter = Adapter;
|
adapter = Adapter;
|
||||||
frontend = Frontend;
|
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);
|
fd_ca = DvbOpen(DEV_DVB_CA, adapter, frontend, O_RDWR);
|
||||||
if (fd_ca >= 0)
|
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):
|
// 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) {
|
if (d >= 0) {
|
||||||
int ErrorDevice = 0;
|
int ErrorDevice = 0;
|
||||||
if (cDevice *Device1 = cDevice::GetDevice(i)) {
|
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();
|
+ Device2 = Device2->SubDevice();
|
||||||
if (cDvbDevice *DvbDevice1 = dynamic_cast<cDvbDevice *>(Device1)) {
|
if (cDvbDevice *DvbDevice1 = dynamic_cast<cDvbDevice *>(Device1)) {
|
||||||
if (cDvbDevice *DvbDevice2 = dynamic_cast<cDvbDevice *>(Device2)) {
|
if (cDvbDevice *DvbDevice2 = dynamic_cast<cDvbDevice *>(Device2)) {
|
||||||
if (!DvbDevice1->Bond(DvbDevice2))
|
if (!DvbDevice2->Bond(DvbDevice1))
|
||||||
@@ -1242,7 +1299,10 @@
|
@@ -1157,7 +1214,10 @@ bool cDvbDevice::BondDevices(const char *Bondings)
|
||||||
void cDvbDevice::UnBondDevices(void)
|
void cDvbDevice::UnBondDevices(void)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < cDevice::NumDevices(); i++) {
|
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();
|
d->UnBond();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1296,6 +1356,26 @@
|
@@ -1211,6 +1271,26 @@ bool cDvbDevice::BondingOk(const cChannel *Channel, bool ConsiderOccupied) const
|
||||||
return true;
|
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)
|
bool cDvbDevice::HasCi(void)
|
||||||
{
|
{
|
||||||
return ciAdapter;
|
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
|
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
|
int cDvbDevice::NumProvidedSystems(void) const
|
||||||
diff -Naur vdr-1.7.23/dvbdevice.h vdr-1.7.23.patch/dvbdevice.h
|
diff --git a/dvbdevice.h b/dvbdevice.h
|
||||||
--- vdr-1.7.23/dvbdevice.h 2012-01-13 12:32:45.000000000 +0100
|
index 2072ab2..d9f6e8d 100644
|
||||||
+++ vdr-1.7.23.patch/dvbdevice.h 2012-01-15 20:45:09.239911783 +0100
|
--- a/dvbdevice.h
|
||||||
@@ -106,7 +106,7 @@
|
+++ 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.
|
/// The cDvbDevice implements a DVB device which can be accessed through the Linux DVB driver API.
|
||||||
|
|
||||||
class cDvbDevice : public cDevice {
|
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 cString DvbName(const char *Name, int Adapter, int Frontend);
|
||||||
static int DvbOpen(const char *Name, int Adapter, int Frontend, int Mode, bool ReportError = false);
|
static int DvbOpen(const char *Name, int Adapter, int Frontend, int Mode, bool ReportError = false);
|
||||||
private:
|
private:
|
||||||
@@ -132,11 +132,13 @@
|
@@ -126,9 +126,11 @@ private:
|
||||||
|
cDvbDevice *bondedDevice;
|
||||||
mutable bool needsDetachBondedReceivers;
|
mutable bool needsDetachBondedReceivers;
|
||||||
bool QueryDeliverySystems(int fd_frontend);
|
|
||||||
public:
|
public:
|
||||||
- cDvbDevice(int Adapter, int Frontend);
|
- cDvbDevice(int Adapter, int Frontend);
|
||||||
+ cDvbDevice(int Adapter, int Frontend, cDevice *ParentDevice = NULL);
|
+ cDvbDevice(int Adapter, int Frontend, cDevice *ParentDevice = NULL);
|
||||||
virtual ~cDvbDevice();
|
virtual ~cDvbDevice();
|
||||||
int Adapter(void) const { return adapter; }
|
|
||||||
int Frontend(void) const { return frontend; }
|
|
||||||
virtual bool Ready(void);
|
virtual bool Ready(void);
|
||||||
+ virtual bool SetIdleDevice(bool Idle, bool TestOnly);
|
+ virtual bool SetIdleDevice(bool Idle, bool TestOnly);
|
||||||
+
|
+
|
Loading…
x
Reference in New Issue
Block a user