vdr: update to vdr-2.0.0

This commit is contained in:
Stefan Saraev 2013-04-09 20:47:55 +03:00
parent a8fbc8425c
commit 353558e0bd
7 changed files with 136 additions and 1098 deletions

View File

@ -32,7 +32,7 @@ PLUGINLIBDIR = /usr/lib/vdr
VIDEODIR = /storage/videos
CONFDIR = /storage/.config/vdr
LOCDIR = /usr/share/locale
LIBS += -lz -lexpat -lbz2 -lfontconfig -lfreetype -lxml2
#LIBS += -lz -lexpat -lbz2 -lfontconfig -lfreetype -lxml2
NO_KBD=yes
VDR_USER=root

View File

@ -20,12 +20,12 @@
################################################################################
PKG_NAME="vdr"
PKG_VERSION="1.7.33"
PKG_VERSION="2.0.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.tvdr.de"
PKG_URL="ftp://ftp.tvdr.de/vdr/Developer/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="ftp://ftp.tvdr.de/vdr/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS="fontconfig freetype libcap"
PKG_BUILD_DEPENDS="toolchain fontconfig freetype libcap libjpeg-turbo bzip2"
PKG_PRIORITY="optional"

View File

@ -1,16 +0,0 @@
Description: Removes Ch 14 fom example channels.conf.terr, because the entry is
invalid (reported as Ubuntu Bug #45721)
Author: Thomas Schmidt <tschmidt@debian.org>
Index: vdr/channels.conf.terr
===================================================================
--- vdr.orig/channels.conf.terr 2011-12-10 22:22:04.000000000 +0100
+++ vdr/channels.conf.terr 2011-12-11 01:49:01.000000000 +0100
@@ -9,7 +9,6 @@
bid-up.tv (TV):561833:I0C23D0M64B8T2G32Y0:T:27500:6273:6274:0:0:14272:0:0:0
CBBC (TV):505833:I0C34D0M16B8T2G32Y0:T:27500:620:621,622:0:0:4671:0:0:0
Cbeebies (TV):529833:I0C34D0M16B8T2G32Y0:T:27500:201:401,402:0:0:16960:0:0:0
-Ch 14 (TV):481833:I0C23D0M64B8T2G32Y0:T:27500:2840:2841:2843:0:0:8800:0:0
Ch 32 (TV):537833:I0C34D0M16B8T2G32Y0:T:27500:501:502,504:0:0:25984:0:0:0
Ch 44 (TV):537833:I0C34D0M16B8T2G32Y0:T:27500:501:502,504:0:0:26048:0:0:0
Channel 4 (TV):481833:I0C23D0M64B8T2G32Y0:T:27500:2827:2828,2830:0:0:8384:0:0:0

View File

@ -0,0 +1,133 @@
Description: This patch is needed for the rotor plugin.
Author: Thomas Bergwinkl <Bergwinkl.Thomas@vr-web.de>
Origin: extracted from the rotor plugin 0.1.4-vdr1.5
Index: b/device.h
===================================================================
--- a/device.h
+++ b/device.h
@@ -24,6 +24,8 @@
#include "spu.h"
#include "thread.h"
#include "tools.h"
+#include <asm/types.h>
+#include <linux/dvb/frontend.h>
#define MAXDEVICES 16 // the maximum number of devices in the system
#define MAXPIDHANDLES 64 // the maximum number of different PIDs per device
@@ -337,6 +339,7 @@
virtual bool HasProgramme(void) const;
///< Returns true if the device is currently showing any programme to
///< the user, either through replaying or live.
+ virtual bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd) {return false;}
// PID handle facilities
Index: b/dvbdevice.c
===================================================================
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -283,6 +283,7 @@
private:
static cMutex bondMutex;
enum eTunerStatus { tsIdle, tsSet, tsTuned, tsLocked };
+ bool SendDiseqc;
int frontendType;
const cDvbDevice *device;
int fd_frontend;
@@ -299,6 +300,7 @@
cMutex mutex;
cCondVar locked;
cCondVar newSet;
+ dvb_diseqc_master_cmd diseqc_cmd;
cDvbTuner *bondedTuner;
bool bondedMaster;
bool SetFrontendType(const cChannel *Channel);
@@ -325,12 +327,16 @@
bool Locked(int TimeoutMs = 0);
int GetSignalStrength(void) const;
int GetSignalQuality(void) const;
+ bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd);
+private:
+ int GetCurrentDeliverySystem(void);
};
cMutex cDvbTuner::bondMutex;
cDvbTuner::cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int Frontend)
{
+ SendDiseqc = false;
frontendType = SYS_UNDEFINED;
device = Device;
fd_frontend = Fd_Frontend;
@@ -653,6 +659,35 @@
return -1;
}
+int cDvbTuner::GetCurrentDeliverySystem()
+{
+ dtv_property Frontend[1];
+ memset(&Frontend, 0, sizeof(Frontend));
+ dtv_properties CmdSeq;
+ memset(&CmdSeq, 0, sizeof(CmdSeq));
+ CmdSeq.props = Frontend;
+ Frontend[0].cmd = DTV_DELIVERY_SYSTEM;
+ Frontend[0].u.data = 0;
+ if (ioctl(fd_frontend, FE_GET_PROPERTY, &CmdSeq) < 0) {
+ esyslog("ERROR: frontend %d/%d: %m", adapter, frontend);
+ return SYS_UNDEFINED;
+ }
+ return Frontend[0].u.data;
+}
+
+bool cDvbTuner::SendDiseqcCmd(dvb_diseqc_master_cmd cmd)
+{
+ cMutexLock MutexLock(&mutex);
+ int frontendType = GetCurrentDeliverySystem();
+ if ((frontendType != SYS_DVBS && frontendType != SYS_DVBS2) || SendDiseqc)
+ return false;
+ diseqc_cmd=cmd;
+ SendDiseqc=true;
+ newSet.Broadcast();
+ return true;
+}
+
+
static unsigned int FrequencyToHz(unsigned int f)
{
while (f && f < 1000000)
@@ -874,6 +909,10 @@
if (GetFrontendStatus(NewStatus))
Status = NewStatus;
cMutexLock MutexLock(&mutex);
+ if (SendDiseqc) {
+ CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_MASTER_CMD, &diseqc_cmd));
+ SendDiseqc=false;
+ }
int WaitTime = 1000;
switch (tunerStatus) {
case tsIdle:
@@ -1571,6 +1610,11 @@
return dvbTuner ? dvbTuner->Locked(TimeoutMs) : false;
}
+bool cDvbDevice::SendDiseqcCmd(dvb_diseqc_master_cmd cmd)
+{
+ return dvbTuner->SendDiseqcCmd(cmd);
+}
+
void cDvbDevice::SetTransferModeForDolbyDigital(int Mode)
{
setTransferModeForDolbyDigital = Mode;
Index: b/dvbdevice.h
===================================================================
--- a/dvbdevice.h
+++ b/dvbdevice.h
@@ -196,6 +196,7 @@
virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView);
public:
virtual bool HasLock(int TimeoutMs = 0) const;
+ virtual bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd);
// PID handle facilities