vdr: update to vdr-1.7.27

This commit is contained in:
Stefan Saraev 2012-03-29 20:40:59 +03:00
parent a06336ee3b
commit 415f988d47
4 changed files with 32 additions and 32 deletions

View File

@ -20,7 +20,7 @@
################################################################################ ################################################################################
PKG_NAME="vdr" PKG_NAME="vdr"
PKG_VERSION="1.7.26" PKG_VERSION="1.7.27"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"

View File

@ -25,7 +25,7 @@ index 74e0270..d38e2dd 100644
class cTPDU; class cTPDU;
diff --git a/device.c b/device.c diff --git a/device.c b/device.c
index 8c527aa..8b0a7e2 100644 index 00645cf..fc4c93d 100644
--- a/device.c --- a/device.c
+++ b/device.c +++ b/device.c
@@ -69,12 +69,22 @@ int cDevice::currentChannel = 1; @@ -69,12 +69,22 @@ int cDevice::currentChannel = 1;
@ -113,7 +113,7 @@ index 8c527aa..8b0a7e2 100644
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;
@@ -341,6 +380,8 @@ bool cDevice::HasCi(void) @@ -346,6 +385,8 @@ bool cDevice::HasCi(void)
void cDevice::SetCamSlot(cCamSlot *CamSlot) void cDevice::SetCamSlot(cCamSlot *CamSlot)
{ {
@ -122,7 +122,7 @@ index 8c527aa..8b0a7e2 100644
camSlot = CamSlot; camSlot = CamSlot;
} }
@@ -553,6 +594,10 @@ void cDevice::DelLivePids(void) @@ -558,6 +599,10 @@ void cDevice::DelLivePids(void)
void cDevice::StartSectionHandler(void) void cDevice::StartSectionHandler(void)
{ {
@ -133,7 +133,7 @@ index 8c527aa..8b0a7e2 100644
if (!sectionHandler) { if (!sectionHandler) {
sectionHandler = new cSectionHandler(this); sectionHandler = new cSectionHandler(this);
AttachFilter(eitFilter = new cEitFilter); AttachFilter(eitFilter = new cEitFilter);
@@ -564,6 +609,10 @@ void cDevice::StartSectionHandler(void) @@ -569,6 +614,10 @@ void cDevice::StartSectionHandler(void)
void cDevice::StopSectionHandler(void) void cDevice::StopSectionHandler(void)
{ {
@ -144,7 +144,7 @@ index 8c527aa..8b0a7e2 100644
if (sectionHandler) { if (sectionHandler) {
delete nitFilter; delete nitFilter;
delete sdtFilter; delete sdtFilter;
@@ -590,12 +639,17 @@ void cDevice::CloseFilter(int Handle) @@ -595,12 +644,17 @@ void cDevice::CloseFilter(int Handle)
void cDevice::AttachFilter(cFilter *Filter) void cDevice::AttachFilter(cFilter *Filter)
{ {
@ -162,7 +162,7 @@ index 8c527aa..8b0a7e2 100644
if (sectionHandler) if (sectionHandler)
sectionHandler->Detach(Filter); sectionHandler->Detach(Filter);
} }
@@ -757,6 +811,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView) @@ -762,6 +816,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
sectionHandler->SetStatus(false); sectionHandler->SetStatus(false);
sectionHandler->SetChannel(NULL); sectionHandler->SetChannel(NULL);
} }
@ -170,7 +170,7 @@ index 8c527aa..8b0a7e2 100644
// 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)
@@ -803,19 +858,27 @@ void cDevice::ForceTransferMode(void) @@ -808,19 +863,27 @@ void cDevice::ForceTransferMode(void)
{ {
if (!cTransferControl::ReceiverDevice()) { if (!cTransferControl::ReceiverDevice()) {
cChannel *Channel = Channels.GetByNumber(CurrentChannel()); cChannel *Channel = Channels.GetByNumber(CurrentChannel());
@ -199,7 +199,7 @@ index 8c527aa..8b0a7e2 100644
if (Seconds >= 0) if (Seconds >= 0)
occupiedTimeout = time(NULL) + min(Seconds, MAXOCCUPIEDTIMEOUT); occupiedTimeout = time(NULL) + min(Seconds, MAXOCCUPIEDTIMEOUT);
} }
@@ -1188,7 +1251,10 @@ bool cDevice::Transferring(void) const @@ -1193,7 +1256,10 @@ bool cDevice::Transferring(void) const
bool cDevice::AttachPlayer(cPlayer *Player) bool cDevice::AttachPlayer(cPlayer *Player)
{ {
@ -210,7 +210,7 @@ index 8c527aa..8b0a7e2 100644
if (player) if (player)
Detach(player); Detach(player);
DELETENULL(liveSubtitle); DELETENULL(liveSubtitle);
@@ -1207,6 +1273,8 @@ bool cDevice::AttachPlayer(cPlayer *Player) @@ -1212,6 +1278,8 @@ bool cDevice::AttachPlayer(cPlayer *Player)
void cDevice::Detach(cPlayer *Player) void cDevice::Detach(cPlayer *Player)
{ {
@ -219,7 +219,7 @@ index 8c527aa..8b0a7e2 100644
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()
@@ -1226,6 +1294,8 @@ void cDevice::Detach(cPlayer *Player) @@ -1231,6 +1299,8 @@ void cDevice::Detach(cPlayer *Player)
void cDevice::StopReplay(void) void cDevice::StopReplay(void)
{ {
@ -228,7 +228,7 @@ index 8c527aa..8b0a7e2 100644
if (player) { if (player) {
Detach(player); Detach(player);
if (IsPrimaryDevice()) if (IsPrimaryDevice())
@@ -1508,6 +1578,8 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly) @@ -1513,6 +1583,8 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
int cDevice::Priority(void) const int cDevice::Priority(void) const
{ {
@ -237,7 +237,7 @@ index 8c527aa..8b0a7e2 100644
int priority = IDLEPRIORITY; int priority = IDLEPRIORITY;
if (IsPrimaryDevice() && !Replaying() && ActualDevice() == PrimaryDevice()) if (IsPrimaryDevice() && !Replaying() && ActualDevice() == PrimaryDevice())
priority = TRANSFERPRIORITY; // we use the same value here, no matter whether it's actual Transfer Mode or real live viewing priority = TRANSFERPRIORITY; // we use the same value here, no matter whether it's actual Transfer Mode or real live viewing
@@ -1526,6 +1598,8 @@ bool cDevice::Ready(void) @@ -1531,6 +1603,8 @@ bool cDevice::Ready(void)
bool cDevice::Receiving(bool Dummy) const bool cDevice::Receiving(bool Dummy) const
{ {
@ -246,7 +246,7 @@ index 8c527aa..8b0a7e2 100644
cMutexLock MutexLock(&mutexReceiver); cMutexLock MutexLock(&mutexReceiver);
for (int i = 0; i < MAXRECEIVERS; i++) { for (int i = 0; i < MAXRECEIVERS; i++) {
if (receiver[i]) if (receiver[i])
@@ -1606,10 +1680,13 @@ bool cDevice::GetTSPacket(uchar *&Data) @@ -1611,10 +1685,13 @@ bool cDevice::GetTSPacket(uchar *&Data)
bool cDevice::AttachReceiver(cReceiver *Receiver) bool cDevice::AttachReceiver(cReceiver *Receiver)
{ {
@ -260,7 +260,7 @@ index 8c527aa..8b0a7e2 100644
// 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
@@ -1648,6 +1725,8 @@ bool cDevice::AttachReceiver(cReceiver *Receiver) @@ -1653,6 +1730,8 @@ bool cDevice::AttachReceiver(cReceiver *Receiver)
void cDevice::Detach(cReceiver *Receiver) void cDevice::Detach(cReceiver *Receiver)
{ {
@ -269,7 +269,7 @@ index 8c527aa..8b0a7e2 100644
if (!Receiver || Receiver->device != this) if (!Receiver || Receiver->device != this)
return; return;
bool receiversLeft = false; bool receiversLeft = false;
@@ -1673,6 +1752,8 @@ void cDevice::Detach(cReceiver *Receiver) @@ -1678,6 +1757,8 @@ void cDevice::Detach(cReceiver *Receiver)
void cDevice::DetachAll(int Pid) void cDevice::DetachAll(int Pid)
{ {
@ -278,7 +278,7 @@ index 8c527aa..8b0a7e2 100644
if (Pid) { if (Pid) {
cMutexLock MutexLock(&mutexReceiver); cMutexLock MutexLock(&mutexReceiver);
for (int i = 0; i < MAXRECEIVERS; i++) { for (int i = 0; i < MAXRECEIVERS; i++) {
@@ -1685,6 +1766,8 @@ void cDevice::DetachAll(int Pid) @@ -1690,6 +1771,8 @@ void cDevice::DetachAll(int Pid)
void cDevice::DetachAllReceivers(void) void cDevice::DetachAllReceivers(void)
{ {
@ -287,7 +287,7 @@ index 8c527aa..8b0a7e2 100644
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]);
@@ -1756,3 +1839,25 @@ uchar *cTSBuffer::Get(void) @@ -1761,3 +1844,25 @@ uchar *cTSBuffer::Get(void)
} }
return NULL; return NULL;
} }
@ -314,7 +314,7 @@ index 8c527aa..8b0a7e2 100644
+ DynamicDeviceProbes.Del(this, false); + DynamicDeviceProbes.Del(this, false);
+} +}
diff --git a/device.h b/device.h diff --git a/device.h b/device.h
index 0d9ac3a..5cb5645 100644 index 987dfd2..1ad06ae 100644
--- a/device.h --- a/device.h
+++ b/device.h +++ b/device.h
@@ -169,7 +169,6 @@ private: @@ -169,7 +169,6 @@ private:
@ -334,8 +334,8 @@ index 0d9ac3a..5cb5645 100644
- ///< Returns the card index of this device (0 ... MAXDEVICES - 1). - ///< Returns the card index of this device (0 ... MAXDEVICES - 1).
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 cString DeviceName(void) const;
@@ -404,9 +400,6 @@ public: @@ -407,9 +403,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.
@ -345,7 +345,7 @@ index 0d9ac3a..5cb5645 100644
// Image Grab facilities // Image Grab facilities
@@ -562,9 +555,6 @@ private: @@ -565,9 +558,6 @@ private:
cTsToPes tsToPesSubtitle; cTsToPes tsToPesSubtitle;
bool isPlayingVideo; bool isPlayingVideo;
protected: protected:
@ -355,7 +355,7 @@ index 0d9ac3a..5cb5645 100644
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);
@@ -749,6 +739,38 @@ public: @@ -752,6 +742,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.
@ -394,7 +394,7 @@ index 0d9ac3a..5cb5645 100644
}; };
/// Derived cDevice classes that can receive channels will have to provide /// Derived cDevice classes that can receive channels will have to provide
@@ -772,4 +794,47 @@ public: @@ -775,4 +797,47 @@ public:
uchar *Get(void); uchar *Get(void);
}; };
@ -584,7 +584,7 @@ index adbe40d..6d117b2 100644
#endif //__DVBCI_H #endif //__DVBCI_H
diff --git a/dvbdevice.c b/dvbdevice.c diff --git a/dvbdevice.c b/dvbdevice.c
index 4c9268f..e2944e3 100644 index 65e9a4b..4bc42ab 100644
--- a/dvbdevice.c --- a/dvbdevice.c
+++ b/dvbdevice.c +++ b/dvbdevice.c
@@ -286,7 +286,7 @@ private: @@ -286,7 +286,7 @@ private:
@ -736,7 +736,7 @@ index 4c9268f..e2944e3 100644
// The DVR device (will be opened and closed as needed): // The DVR device (will be opened and closed as needed):
@@ -1230,7 +1281,11 @@ bool cDvbDevice::BondDevices(const char *Bondings) @@ -1235,7 +1286,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)) {
@ -748,7 +748,7 @@ index 4c9268f..e2944e3 100644
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 (!DvbDevice1->Bond(DvbDevice2))
@@ -1264,7 +1319,10 @@ bool cDvbDevice::BondDevices(const char *Bondings) @@ -1269,7 +1324,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++) {
@ -760,7 +760,7 @@ index 4c9268f..e2944e3 100644
d->UnBond(); d->UnBond();
} }
} }
@@ -1318,6 +1376,26 @@ bool cDvbDevice::BondingOk(const cChannel *Channel, bool ConsiderOccupied) const @@ -1323,6 +1381,26 @@ bool cDvbDevice::BondingOk(const cChannel *Channel, bool ConsiderOccupied) const
return true; return true;
} }
@ -787,7 +787,7 @@ index 4c9268f..e2944e3 100644
bool cDvbDevice::HasCi(void) bool cDvbDevice::HasCi(void)
{ {
return ciAdapter; return ciAdapter;
@@ -1484,7 +1562,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne @@ -1489,7 +1567,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
bool cDvbDevice::ProvidesEIT(void) const bool cDvbDevice::ProvidesEIT(void) const
{ {
@ -797,7 +797,7 @@ index 4c9268f..e2944e3 100644
int cDvbDevice::NumProvidedSystems(void) const int cDvbDevice::NumProvidedSystems(void) const
diff --git a/dvbdevice.h b/dvbdevice.h diff --git a/dvbdevice.h b/dvbdevice.h
index 85b0d9c..2dcb319 100644 index c53a208..b016669
--- a/dvbdevice.h --- a/dvbdevice.h
+++ b/dvbdevice.h +++ b/dvbdevice.h
@@ -107,7 +107,7 @@ class cDvbTuner; @@ -107,7 +107,7 @@ class cDvbTuner;
@ -809,7 +809,7 @@ index 85b0d9c..2dcb319 100644
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:
@@ -133,11 +133,13 @@ private: @@ -133,12 +133,13 @@ private:
mutable bool needsDetachBondedReceivers; mutable bool needsDetachBondedReceivers;
bool QueryDeliverySystems(int fd_frontend); bool QueryDeliverySystems(int fd_frontend);
public: public:
@ -819,8 +819,8 @@ index 85b0d9c..2dcb319 100644
int Adapter(void) const { return adapter; } int Adapter(void) const { return adapter; }
int Frontend(void) const { return frontend; } int Frontend(void) const { return frontend; }
virtual bool Ready(void); virtual bool Ready(void);
virtual cString DeviceName(void) const;
+ virtual bool SetIdleDevice(bool Idle, bool TestOnly); + virtual bool SetIdleDevice(bool Idle, bool TestOnly);
+
static bool BondDevices(const char *Bondings); static bool BondDevices(const char *Bondings);
///< Bonds the devices as defined in the given Bondings string. ///< Bonds the devices as defined in the given Bondings string.
///< A bonding is a sequence of device numbers (starting at 1), ///< A bonding is a sequence of device numbers (starting at 1),