Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv

This commit is contained in:
Stephan Raue 2013-04-14 19:52:09 +02:00
commit 94710989f2
58 changed files with 632 additions and 1837 deletions

View File

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="CouchPotatoServer"
PKG_VERSION="5a23be2"
PKG_VERSION="f1dde5c"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"

View File

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="Headphones"
PKG_VERSION="263272c"
PKG_VERSION="ebbe908"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"

View File

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="SickBeard"
PKG_VERSION="ebec1de"
PKG_VERSION="fb37d33"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"

View File

@ -24,7 +24,10 @@
VDR_DIR=`basename $BUILD/vdr-[0-9]*`
CFLAGS="$CFLAGS -fPIC"
CXXFLAGS="$CXXFLAGS -fPIC"
LDFLAGS="$LDFLAGS -fPIC"
cd $PKG_BUILD
make VDRDIR="../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale"

View File

@ -19,15 +19,15 @@
################################################################################
PKG_NAME="rotorng"
PKG_VERSION="0.1.0"
PKG_VERSION="0.3.1"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://projects.vdr-developer.org/projects/plg-rotor-ng"
PKG_URL="http://projects.vdr-developer.org/attachments/download/631/rotorng-${PKG_VERSION}.tar.gz"
PKG_DEPENDS="vdr"
PKG_BUILD_DEPENDS="toolchain vdr"
PKG_PRIORITY="optional"
PKG_URL="http://projects.vdr-developer.org/attachments/download/1088/rotorng-${PKG_VERSION}.tar.gz"
PKG_SECTION="multimedia"
PKG_SHORTDESC="Next generation of a VDR plugin design to drive a diseqc rotor"
PKG_LONGDESC="Next generation of a VDR plugin design to drive a diseqc rotor"

View File

@ -1,30 +0,0 @@
diff -uNr rotorng-0.1.0-orig/rotorng.c rotorng-0.1.0/rotorng.c
--- rotorng-0.1.0-orig/rotorng.c 2012-05-06 16:14:06.000000000 +0200
+++ rotorng-0.1.0/rotorng.c 2012-05-07 10:52:18.000000000 +0200
@@ -338,7 +338,7 @@
int last_position_shown;
bool transfer;
protected:
- virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
+ virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber,bool LiveView);
public:
cStatusMonitor();
};
@@ -348,7 +348,7 @@
transfer=false;
}
-void cStatusMonitor::ChannelSwitch(const cDevice *Device, int ChannelNumber)
+void cStatusMonitor::ChannelSwitch(const cDevice *Device, int ChannelNumber,bool LiveView)
{
//actuator_status status;
if (ChannelNumber) {
@@ -1494,7 +1494,7 @@
snprintf(buf, sizeof(buf),"%s %d", tr(menucaption[itemindex]), menuvalue[itemindex]);
break;
case MI_SYSTEM:
- snprintf(buf, sizeof(buf),"%s %s", tr(menucaption[itemindex]), MapToUserString(menuvalue[itemindex], SystemValues));
+ snprintf(buf, sizeof(buf),"%s %s", tr(menucaption[itemindex]), MapToUserString(menuvalue[itemindex], SystemValuesSat));
break;
case MI_MODULATION:
snprintf(buf, sizeof(buf),"%s %s ", tr(menucaption[itemindex]), MapToUserString(menuvalue[itemindex], ModulationValues));

View File

@ -0,0 +1,32 @@
diff --git a/Makefile b/Makefile
index 9d62d04..5519a07 100644
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,6 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
### The C++ compiler and options:
-CXX ?= g++
CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fpermissive
### Make sure that the necessary options are included
@@ -27,7 +26,6 @@ CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fpermissive
### The directory environment:
DVBDIR = ../../../../DVB
-VDRDIR = ../../..
LIBDIR = ../../lib
TMPDIR = /tmp
@@ -37,11 +35,7 @@ TMPDIR = /tmp
### The version number of VDR (taken from VDR's "config.h"):
-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
-ifeq ($(strip $(APIVERSION)),)
- APIVERSION = $(VDRVERSION)
-endif
### The name of the distribution archive:

View File

@ -0,0 +1,22 @@
diff --git a/Makefile b/Makefile
index 65a7674..1a5976e 100644
--- a/Makefile
+++ b/Makefile
@@ -31,7 +31,7 @@ TMPDIR = /tmp
### The version number of VDR (taken from VDR's "config.h"):
-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
### The name of the distribution archive:
@@ -54,7 +54,7 @@ all: libvdr-$(PLUGIN).so
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
- @cp $@ $(LIBDIR)/$@.$(VDRVERSION)
+ @cp $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)

View File

@ -1,32 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
VDR_DIR=`basename $BUILD/vdr-[0-9]*`
# dont build parallel
MAKEFLAGS=-j1
cd $PKG_BUILD
make VDRDIR="../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale"

View File

@ -1,37 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="vdr-dynamite"
PKG_VERSION="914af24"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://projects.vdr-developer.org/projects/plg-dynamite"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS="vdr systemd"
PKG_BUILD_DEPENDS="toolchain vdr systemd"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-dynamite turns the dvbdevices into hotpluggable devices. They can be dynamically attached and detached while vdr is running."
PKG_LONGDESC="This plugin turns the dvbdevices into hotpluggable devices. They can be dynamically attached and detached while vdr is running."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"

View File

@ -23,6 +23,11 @@
. config/options $1
VDR_DIR=`basename $BUILD/vdr-[0-9]*`
CFLAGS="$CFLAGS -fPIC"
CXXFLAGS="$CXXFLAGS -fPIC"
LDFLAGS="$LDFLAGS -fPIC"
cd $PKG_BUILD
PWD=`pwd`
make VDRDIR="$PWD/../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale"

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vdr-epgsearch"
PKG_VERSION="0fc4817"
PKG_VERSION="e2de927"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -0,0 +1,68 @@
diff --git a/Makefile b/Makefile
index 6bb1b96..118e379 100644
--- a/Makefile
+++ b/Makefile
@@ -62,21 +62,10 @@ VERSION = $(shell grep 'static const char VERSION\[\] *=' $(PLUGIN).c | awk '{ p
### The directory environment:
-# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-MANDIR = $(call PKGCFG,mandir)
-CONFDIR = $(call PKGCFG,configdir)
-BINDIR = $(call PKGCFG,bindir)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
-
### configuring modules
ifeq ($(AUTOCONFIG),1)
ifeq (exists, $(shell pkg-config libpcre && echo exists))
@@ -92,9 +81,11 @@ ifeq ($(AUTOCONFIG),1)
endif
endif
+include $(VDRDIR)/Make.global
+
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### The name of the distribution archive:
@@ -103,7 +94,7 @@ PACKAGE = vdr-$(ARCHIVE)
### Includes and Defines (add further entries here):
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES +=
@@ -231,15 +222,19 @@ install-i18n: $(I18Nmsgs)
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN2).so: $(OBJS2)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS2) $(LIBS2) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN3).so: $(OBJS3)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS3) $(LIBS3) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN4).so: $(OBJS4)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS4) $(LIBS4) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
createcats: createcats.o Makefile
$(CXX) $(CXXFLAGS) $(LDFLAGS) createcats.o -o $@

View File

@ -30,4 +30,3 @@ LDFLAGS="$LDFLAGS -fPIC"
cd $PKG_BUILD
make VDRDIR="../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale"

View File

@ -19,14 +19,14 @@
################################################################################
PKG_NAME="vdr-iptv"
PKG_VERSION="0.5.2"
PKG_VERSION="2.0.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/iptv/"
PKG_URL="http://www.saunalahti.fi/~rahrenbe/vdr/iptv/files/$PKG_NAME-$PKG_VERSION.tgz"
PKG_DEPENDS="vdr"
PKG_BUILD_DEPENDS="toolchain vdr"
PKG_BUILD_DEPENDS="toolchain vdr curl"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-iptv: an IPTV plugin for the Video Disk Recorder (VDR)"

View File

@ -1,35 +0,0 @@
From c7cd9b614762103a95f3da27783e03ce115d43fb Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Sun, 20 May 2012 16:05:51 +0300
Subject: [PATCH] vdr-iptv: skip header processing
---
protocolhttp.c | 12 +-----------
1 files changed, 1 insertions(+), 11 deletions(-)
diff --git a/protocolhttp.c b/protocolhttp.c
index de50f64..45c5425 100644
--- a/protocolhttp.c
+++ b/protocolhttp.c
@@ -140,17 +140,7 @@ bool cIptvProtocolHttp::ProcessHeaders(void)
memset(buf, '\0', sizeof(buf));
if (!GetHeaderLine(buf, sizeof(buf), lineLength))
return false;
- if (!responseFound && sscanf(buf, fmt, &version, &response) != 2) {
- error("Expected HTTP header not found\n");
- continue;
- }
- else
- responseFound = true;
- // Allow only 'OK' and 'Partial Content'
- if ((response != 200) && (response != 206)) {
- error("Invalid HTTP response (%d): %s\n", response, buf);
- return false;
- }
+ responseFound = true;
}
return true;
}
--
1.7.2.5

View File

@ -1,14 +0,0 @@
diff --git a/Makefile b/Makefile
index d41acd1..58faab1 100644
--- a/Makefile
+++ b/Makefile
@@ -5,9 +5,6 @@
# Debugging on/off
#IPTV_DEBUG = 1
-# Strip debug symbols? Set eg. to /bin/true if not
-STRIP = strip
-
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.

View File

@ -0,0 +1,56 @@
diff --git a/Makefile b/Makefile
index 7f147b8..db294fc 100644
--- a/Makefile
+++ b/Makefile
@@ -12,8 +12,6 @@
# Strip debug symbols? Set eg. to /bin/true if not
-STRIP = strip
-
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
@@ -27,23 +25,15 @@ GITTAG = $(shell git describe --always 2>/dev/null)
### The directory environment:
-# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-CFGDIR = $(call PKGCFG,configdir)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -64,7 +54,7 @@ LIBS = $(shell curl-config --libs)
### Includes and Defines (add further entries here):
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -138,6 +128,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
ifndef IPTV_DEBUG
@$(STRIP) $@
endif

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vdr-live"
PKG_VERSION="0.2.0"
PKG_VERSION="0.3.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,39 +0,0 @@
Description: Allows to use IPV6 addresses
Forwarded: not-needed
Origin: vendor, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=630627#10
Bug-Debian: http://bugs.debian.org/630627
Author: Luboš Doležel <lubos@dolezel.info>
--- live-0.2.0/setup.cpp.orig 2008-04-23 01:01:53.000000000 +0200
+++ live-0.2.0/setup.cpp 2011-06-15 20:22:36.577961061 +0200
@@ -151,13 +151,28 @@
bool Setup::CheckServerIps()
{
+ bool v6supported = false;
+ int s = socket(AF_INET6, SOCK_STREAM, 0);
+
+ if (s != -1) {
+ close(s);
+ v6supported = true;
+ }
+
if ( m_serverIps.empty() ) {
- m_serverIps.push_back( "0.0.0.0" );
+ if (v6supported)
+ m_serverIps.push_back( "::" );
+ else
+ m_serverIps.push_back( "0.0.0.0" );
return true;
}
+ union {
+ in_addr in4;
+ in6_addr in6;
+ };
for ( IpList::const_iterator ip = m_serverIps.begin(); ip != m_serverIps.end(); ++ip ) {
- if ( inet_addr( ip->c_str() ) == static_cast< in_addr_t >( -1 ) ) {
+ if ( !inet_pton(AF_INET, ip->c_str(), &in4) && !inet_pton(AF_INET6, ip->c_str(), &in6) ) {
esyslog( "ERROR: live server ip %s is not a valid ip address", ip->c_str() );
cerr << "ERROR: live server ip " << *ip << " is not a valid ip address" << endl;
return false;

View File

@ -1,18 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 02_timers_colon.dpatch by Timo Weingärtner <timo@tiwe.de>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: colons have to be replaced by pipes in timer titles.
@DPATCH@
--- vdr-plugin-live-0.2.0/timers.cpp 2008-04-10 22:06:05.000000000 +0200
+++ vdr-plugin-live-0.2.0.new/timers.cpp 2009-07-25 23:39:02.000000000 +0200
@@ -138,7 +138,7 @@
ostringstream builder;
builder << flags << ":" << channel << ":" << ( weekdays != "-------" ? weekdays : "" )
<< ( weekdays == "-------" || day.empty() ? "" : "@" ) << day << ":" << start << ":" << stop << ":"
- << priority << ":" << lifetime << ":" << title << ":" << aux;
+ << priority << ":" << lifetime << ":" << StringReplace(title, ":", "|") << ":" << aux;
// dsyslog("%s", builder.str().c_str());
TimerPair timerData( timer, builder.str() );

View File

@ -1,70 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 03_live-0.2.0-fix-INCLUDES.dpatch by Thomas Günther <tom@toms-cafe.de>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fixes compilation with VDR >= 1.7.13.
@DPATCH@
--- live-0.2.0/Makefile
+++ live-0.2.0/Makefile
@@ -38,6 +38,7 @@
### Allow user defined options to overwrite defaults:
-include $(VDRDIR)/Make.config
+EXTRA_INCLUDES = $(INCLUDES)
### The version number of VDR's plugin API (taken from VDR's "config.h"):
@@ -139,10 +140,10 @@
subdirs: $(SUBDIRS)
$(SUBDIRS):
- $(MAKE) -C $@ CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" $(MAKECMDGOALS)
+ $(MAKE) -C $@ CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" EXTRA_INCLUDES="$(EXTRA_INCLUDES)" $(MAKECMDGOALS)
PAGES:
- $(MAKE) -C pages CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" .dependencies
+ $(MAKE) -C pages CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" EXTRA_INCLUDES="$(EXTRA_INCLUDES)" .dependencies
$(VERSIONSUFFIX): FORCE
./buildutil/version-util $(VERSIONSUFFIX) || ./buildutil/version-util -F $(VERSIONSUFFIX)
--- live-0.2.0/css/Makefile
+++ live-0.2.0/css/Makefile
@@ -7,6 +7,7 @@
CXXFLAGS += `tntnet-config --cxxflags`
LDFLAGS += `tntnet-config --libs`
+INCLUDES += $(EXTRA_INCLUDES)
INCLUDES += -I..
### The directory environment:
--- live-0.2.0/httpd/Makefile
+++ live-0.2.0/httpd/Makefile
@@ -7,6 +7,7 @@
### Includes and Defines (add further entries here):
+INCLUDES += $(EXTRA_INCLUDES)
INCLUDES += -I.
### The object files (add further files here):
--- live-0.2.0/javascript/Makefile
+++ live-0.2.0/javascript/Makefile
@@ -7,6 +7,7 @@
CXXFLAGS += `tntnet-config --cxxflags`
LDFLAGS += `tntnet-config --libs`
+INCLUDES += $(EXTRA_INCLUDES)
INCLUDES += -I.. -I$(VDRDIR)/include
### The directory environment:
--- live-0.2.0/pages/Makefile
+++ live-0.2.0/pages/Makefile
@@ -2,6 +2,7 @@
AR ?= ar
ECPPC ?= ecppc
+INCLUDES += $(EXTRA_INCLUDES)
INCLUDES += -I.. -I$(VDRDIR)/include
### The directory environment:

View File

@ -1,50 +0,0 @@
From 94a0a210a485ce1fc95c47a6bc67c4c16c89a0f9 Mon Sep 17 00:00:00 2001
From: Dieter Hametner
Date: Sun, 25 Mar 2012 14:42:12 +0000
Subject: Updated LIVE to latest changes in vdr 1.7.27
- Do not use the direct access to cRecoding members any more.
---
diff --git a/epg_events.cpp b/epg_events.cpp
index a514769..cd4996e 100644
--- a/epg_events.cpp
+++ b/epg_events.cpp
@@ -182,12 +182,20 @@ namespace vdrlive
time_t EpgRecording::GetStartTime() const
{
+#if VDRVERSNUM < 10726
return m_recording ? m_recording->start : 0;
+#else
+ return m_recording ? m_recording->Start() : 0;
+#endif
}
time_t EpgRecording::GetEndTime() const
{
+#if VDRVERSNUM < 10726
return m_recording ? m_recording->start : 0;
+#else
+ return m_recording ? m_recording->Start() : 0;
+#endif
}
const string EpgRecording::Name() const
diff --git a/recman.cpp b/recman.cpp
index fb315d2..6a2fc00 100644
--- a/recman.cpp
+++ b/recman.cpp
@@ -383,7 +383,11 @@ namespace vdrlive {
time_t RecordingsItemRec::StartTime() const
{
+#if VDRVERSNUM < 10726
return m_recording->start;
+#else
+ return m_recording->Start();
+#endif
}
long RecordingsItemRec::Duration() const
--
cgit v0.9.0.2-40-g7c79

View File

@ -1,40 +0,0 @@
From c3ecf9fabb674bc154f5a08cdd62e74e2b5d0e36 Mon Sep 17 00:00:00 2001
From: Christian Ruppert
Date: Sun, 03 Jun 2012 23:42:31 +0000
Subject: Compile fix for >=vdr-1.7.28
---
diff --git a/tasks.cpp b/tasks.cpp
index 9f20190..2a2b8d5 100644
--- a/tasks.cpp
+++ b/tasks.cpp
@@ -60,9 +60,15 @@ void PlayRecordingTask::Action()
const char *current = NowReplaying();
if (!current || (0 != strcmp(current, recording->FileName()))) {
+#if VDRVERSNUM >= 10728
+ cReplayControl::SetRecording( 0 );
+ cControl::Shutdown();
+ cReplayControl::SetRecording( recording->FileName() );
+#else
cReplayControl::SetRecording( 0, 0 );
cControl::Shutdown();
cReplayControl::SetRecording( recording->FileName(), recording->Title() );
+#endif
cControl::Launch( new cReplayControl );
cControl::Attach();
}
@@ -122,7 +128,11 @@ void StopRecordingTask::Action()
return;
}
+#if VDRVERSNUM >= 10728
+ cReplayControl::SetRecording( 0 );
+#else
cReplayControl::SetRecording( 0, 0 );
+#endif
cControl::Shutdown();
}
--
cgit v0.9.0.2-40-g7c79

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vdr-plugin-dvbapi"
PKG_VERSION="cd93752"
PKG_VERSION="555272d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -0,0 +1,77 @@
diff --git a/Makefile b/Makefile
index ebe9d76..ef2d2e5 100644
--- a/Makefile
+++ b/Makefile
@@ -15,18 +15,11 @@ VERSION = $(shell grep 'static const char \*VERSION *=' DVBAPI.h | awk '{ print
### The directory environment:
-# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### Allow user defined options to overwrite defaults:
@@ -34,33 +27,7 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
-ifeq ($(strip $(APIVERSION)),)
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
-NOCONFIG := 1
-endif
-
-# backward compatibility with VDR version < 1.7.34
-API1733 := $(shell if [ "$(APIVERSION)" \< "1.7.34" ]; then echo true; fi; )
-
-ifdef API1733
-
-VDRSRC = $(VDRDIR)
-ifeq ($(strip $(VDRSRC)),)
-VDRSRC := ../../..
-endif
-LIBDIR = $(VDRSRC)/PLUGINS/lib
-
-ifndef NOCONFIG
-CXXFLAGS = $(call PKGCFG,cflags)
-CXXFLAGS += -fPIC
-else
--include $(VDRSRC)/Make.global
--include $(VDRSRC)/Make.config
-endif
-
-export CXXFLAGS
-endif
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### The name of the distribution archive:
@@ -73,9 +40,7 @@ SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
-ifdef API1733
INCLUDES += -I$(VDRSRC)/include
-endif
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -145,6 +110,7 @@ $(DEPFILE): Makefile
$(SOFILE): $(OBJS) $(FFDECSA)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(DECSALIB) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libdvbapi-dvbsddevice.so: device-sd.o
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $< -o $@

View File

@ -24,6 +24,10 @@
VDR_DIR=`basename $BUILD/vdr-[0-9]*`
CFLAGS="$CFLAGS -fPIC"
CXXFLAGS="$CXXFLAGS -fPIC"
LDFLAGS="$LDFLAGS -fPIC"
cd $PKG_BUILD
PWD=`pwd`
make VDRDIR="$PWD/../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale"

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vdr-plugin-streamdev"
PKG_VERSION="f58086a"
PKG_VERSION="329129d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -0,0 +1,53 @@
diff --git a/Makefile b/Makefile
index 90f3261..d80e15d 100644
--- a/Makefile
+++ b/Makefile
@@ -15,22 +15,15 @@ VERSION = $(shell grep 'const char \*VERSION *=' common.c | awk '{ print $$5 }'
### The directory environment:
-# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
diff --git a/client/Makefile b/client/Makefile
index ea9dc45..6fac485 100644
--- a/client/Makefile
+++ b/client/Makefile
@@ -72,6 +72,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(CLIENTOBJS) $(COMMONOBJS) ../tools/sockettools.a
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $^ -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
diff --git a/server/Makefile b/server/Makefile
index 37cd4bb..8d2f49f 100644
--- a/server/Makefile
+++ b/server/Makefile
@@ -78,6 +78,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(SERVEROBJS) $(COMMONOBJS) \
../tools/sockettools.a ../remux/remux.a ../libdvbmpeg/libdvbmpegtools.a
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $^ -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -1,19 +0,0 @@
commit 949a46ec2ea06d97a7fcd47adc33153215399ac5
Author: Stefan Saraev <stefan@saraev.ca>
Date: Sun Mar 4 16:39:58 2012 +0200
vdr-streamdev: adjust makefile for openelec
diff --git a/Makefile b/Makefile
index b375844..231041f 100644
--- a/Makefile
+++ b/Makefile
@@ -21,8 +21,6 @@ VERSION = $(shell grep 'const char \*VERSION *=' common.c | awk '{ print $$5 }'
### The directory environment:
-VDRDIR = ../../..
-LIBDIR = ../../lib
TMPDIR = /tmp
### The version number of VDR (taken from VDR's "config.h"):

View File

@ -24,6 +24,10 @@
VDR_DIR=`basename $BUILD/vdr-[0-9]*`
CFLAGS="$CFLAGS -fPIC"
CXXFLAGS="$CXXFLAGS -fPIC"
LDFLAGS="$LDFLAGS -fPIC"
cd $PKG_BUILD
make VDRDIR="../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale"

View File

@ -23,6 +23,11 @@
. config/options $1
VDR_DIR=`basename $BUILD/vdr-[0-9]*`
CFLAGS="$CFLAGS -fPIC"
CXXFLAGS="$CXXFLAGS -fPIC"
LDFLAGS="$LDFLAGS -fPIC"
cd $PKG_BUILD
PWD=`pwd`
make VDRDIR="$PWD/../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale"

View File

@ -19,14 +19,14 @@
################################################################################
PKG_NAME="vdr-plugin-xmltv2vdr"
PKG_VERSION="8be374e781e734b44edbd6bc03cfdc1694f6617e"
PKG_VERSION="41b998d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://projects.vdr-developer.org/projects/plg-xmltv2vdr"
PKG_URL="http://projects.vdr-developer.org/git/vdr-plugin-xmltv2vdr.git/snapshot/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS="vdr sqlite curl libzip libxml libxslt"
PKG_BUILD_DEPENDS="toolchain vdr sqlite curl libzip libxml libxslt enca"
PKG_BUILD_DEPENDS="toolchain vdr sqlite curl libzip libxml libxslt enca pcre"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-xmltv2vdr"

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vdr-plugin-xvdr"
PKG_VERSION="c43033c"
PKG_VERSION="935a294"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -0,0 +1,79 @@
diff --git a/Makefile b/Makefile
index 06a49a2..ab037bd 100644
--- a/Makefile
+++ b/Makefile
@@ -16,45 +16,46 @@ VERSION = $(shell grep 'static const char \*VERSION *=' src/xvdr/xvdr.h | awk '{
### The directory environment:
# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-CFGDIR = $(call PKGCFG,configdir)/plugins/$(PLUGIN)
#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+OPTLEVEL ?= 2
+CXXFLAGS = -O$(OPTLEVEL) -g -Wall -Woverloaded-virtual -fPIC -DPIC
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+#DVBDIR = ../../../../DVB
+#VDRDIR = ../../..
+#LIBDIR = ../../lib
+#TMPDIR = /tmp
### Allow user defined options to overwrite defaults:
--include $(PLGCFG)
+-include $(VDRDIR)/Make.config
+-include $(VDRDIR)/Make.global
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+
### The name of the shared object file:
SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
-INCLUDES += -I./src
+INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include -I$(VDRDIR) -I./src -I.
ifdef DEBUG
INCLUDES += -DDEBUG
endif
-DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -DXVDR_VERSION='"$(VERSION)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DXVDR_VERSION='"$(VERSION)"'
### The object files (add further files here):
@@ -103,7 +104,7 @@ all: $(SOFILE) i18n
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
$(DEPFILE): Makefile
- @$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
+ @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
-include $(DEPFILE)
@@ -137,6 +138,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
+ @cp $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -1,282 +0,0 @@
diff -r 442eee2f550d device-hd.c
--- a/device-hd.c Sun Oct 02 21:09:13 2011 +0200
+++ b/device-hd.c Thu Oct 13 00:15:52 2011 +0200
@@ -50,12 +50,18 @@
{
if(!initial) cCondWait::SleepMs(150);
cMutexLock lock(&cafdMutex);
+// BEGIN vdr-plugin-dynamite
+ if(fd_ca < 0) return false;
+// END vdr-plugin-dynamite
return ioctl(fd_ca,CA_SET_DESCR,ca_descr)>=0;
}
bool cScDvbHdFfDevice::SetCaPid(ca_pid_t *ca_pid)
{
cMutexLock lock(&cafdMutex);
+// BEGIN vdr-plugin-dynamite
+ if(fd_ca < 0) return false;
+// END vdr-plugin-dynamite
return ioctl(fd_ca,CA_SET_PID,ca_pid)>=0;
}
diff -r 442eee2f550d device-sd.c
--- a/device-sd.c Sun Oct 02 21:09:13 2011 +0200
+++ b/device-sd.c Thu Oct 13 00:15:52 2011 +0200
@@ -59,12 +59,18 @@
bool cScDvbSdFfDevice::SetCaDescr(ca_descr_t *ca_descr, bool initial)
{
cMutexLock lock(&cafdMutex);
+// BEGIN vdr-plugin-dynamite
+ if(fd_ca < 0) return false;
+// END vdr-plugin-dynamite
return ioctl(fd_ca,CA_SET_DESCR,ca_descr)>=0;
}
bool cScDvbSdFfDevice::SetCaPid(ca_pid_t *ca_pid)
{
cMutexLock lock(&cafdMutex);
+// BEGIN vdr-plugin-dynamite
+ if(fd_ca < 0) return false;
+// END vdr-plugin-dynamite
return ioctl(fd_ca,CA_SET_PID,ca_pid)>=0;
}
@@ -88,6 +94,9 @@
void cScDvbSdFfDevice::DumpAV(void)
{
+// BEGIN vdr-plugin-dynamite
+ if(fd_ca < 0) return;
+// END vdr-plugin-dynamite
if(LOG(L_CORE_AV7110)) {
#define CODEBASE (0x2e000404+0x1ce00)
cMutexLock lock(&cafdMutex);
diff -r 442eee2f550d device-tmpl.c
--- a/device-tmpl.c Sun Oct 02 21:09:13 2011 +0200
+++ b/device-tmpl.c Thu Oct 13 00:15:52 2011 +0200
@@ -62,6 +62,14 @@
#else
cCam *Cam(void) { return cam; }
#endif //!SASC
+// BEGIN vdr-plugin-dynamite
+private:
+ bool lateInit;
+public:
+#ifdef __DYNAMIC_DEVICE_PROBE
+ virtual bool SetIdleDevice(bool Idle, bool TestOnly);
+#endif
+// END vdr-plugin-dynamite
};
SCDEVICE::SCDEVICE(cScDevicePlugin *DevPlugin, int Adapter, int Frontend, int cafd)
@@ -75,6 +83,9 @@
:DVBDEVICE(Adapter)
#endif //APIVERSNUM >= 10711
{
+// BEGIN vdr-plugin-dynamite
+ lateInit = false;
+// END vdr-plugin-dynamite
#ifndef SASC
tsBuffer=0; hwciadapter=0;
#endif
@@ -88,10 +99,18 @@
#ifdef SASC
cam=new cCam(this,Adapter,0,devId,devplugin,softcsa,fullts);
#endif // !SASC
+// BEGIN vdr-plugin-dynamite
+ cScDevices::AddScDevice(this);
+ if (cScDevices::AutoLateInit())
+ LateInit();
+// END vdr-plugin-dynamite
}
SCDEVICE::~SCDEVICE()
{
+// BEGIN vdr-plugin-dynamite
+ cScDevices::DelScDevice(this);
+// END vdr-plugin-dynamite
#ifndef SASC
DetachAllReceivers();
Cancel(3);
@@ -139,6 +158,9 @@
void SCDEVICE::LateInit(void)
{
+ if (lateInit)
+ return;
+ lateInit = true;
int n=CardIndex();
if(DeviceNumber()!=n)
PRINTF(L_GEN_ERROR,"CardIndex - DeviceNumber mismatch! Put SC plugin first on VDR commandline!");
@@ -155,8 +177,17 @@
if(fullts) PRINTF(L_GEN_INFO,"Enabling hybrid full-ts mode on card %s",devId);
else PRINTF(L_GEN_INFO,"Using software decryption on card %s",devId);
}
- if(fd_ca2>=0) hwciadapter=cDvbCiAdapter::CreateCiAdapter(this,fd_ca2);
- cam=new cCam(this,DVB_DEV_SPEC,devId,devplugin,softcsa,fullts);
+// BEGIN vdr-plugin-dynamite
+#ifdef __DYNAMIC_DEVICE_PROBE
+ cDevice *cidev = parentDevice ? parentDevice : this;
+#else
+ cDevice *cidev = this;
+#endif
+ if(fd_ca2>=0) hwciadapter=cDvbCiAdapter::CreateCiAdapter(cidev,fd_ca2);
+ if (cidev != this)
+ fd_ca2 = -1; // will be closed by patched cDvbCiAdapter
+ cam=new cCam(cidev,DVB_DEV_SPEC,devId,devplugin,softcsa,fullts);
+// END vdr-plugin-dynamite
}
bool SCDEVICE::HasCi(void)
@@ -225,6 +256,36 @@
return false;
}
+// BEGIN vdr-plugin-dynamite
+#ifdef __DYNAMIC_DEVICE_PROBE
+bool SCDEVICE::SetIdleDevice(bool Idle, bool TestOnly)
+{
+ if (TestOnly) {
+ if (hwciadapter)
+ return hwciadapter->SetIdle(Idle, true);
+ return DVBDEVICE::SetIdleDevice(Idle, true);
+ }
+ if (hwciadapter && !hwciadapter->SetIdle(Idle, false))
+ return false;
+ if (!DVBDEVICE::SetIdleDevice(Idle, false)) {
+ if (hwciadapter)
+ hwciadapter->SetIdle(!Idle, false);
+ return false;
+ }
+ if (Idle) {
+ if (fd_ca >= 0)
+ close(fd_ca);
+ fd_ca = -1;
+ }
+ else {
+ if (fd_ca < 0)
+ fd_ca = cScDevices::DvbOpen(DEV_DVB_CA,adapter,frontend,O_RDWR);
+ }
+ return true;
+}
+#endif
+// END vdr-plugin-dynamite
+
#endif // !SASC
#undef SCDEVICE
diff -r 442eee2f550d device.c
--- a/device.c Sun Oct 02 21:09:13 2011 +0200
+++ b/device.c Thu Oct 13 00:15:52 2011 +0200
@@ -285,6 +285,58 @@
int cScDevices::budget=0;
+// BEGIN vdr-plugin-dynamite
+// dynamite fills the vdr::cDevice::device array with vdr::plugin::dynamite::cDynamicDevice
+// we have to maintain our own list of sc-devices
+int cScDevices::numScDevices = 0;
+cDevice *cScDevices::scdevice[MAXDEVICES] = { NULL };
+bool cScDevices::autoLateInit = false;
+
+int cScDevices::NumScDevices(void)
+{
+ return numScDevices;
+}
+
+cDevice *cScDevices::GetScDevice(int CardIndex)
+{
+ for (int n = 0; n < numScDevices; n++) {
+ if (scdevice[n] && (scdevice[n]->CardIndex() == CardIndex))
+ return scdevice[n];
+ }
+ return NULL;
+}
+
+void cScDevices::AddScDevice(cDevice *Device)
+{
+ if (Device == NULL)
+ return;
+ int i = 0;
+ while ((i < numScDevices) && (i < MAXDEVICES) && (scdevice[i] != Device))
+ i++;
+ if (i < MAXDEVICES) {
+ scdevice[i] = Device;
+ if (i == numScDevices)
+ numScDevices++;
+ }
+ else
+ esyslog("too many sc-devices!");
+}
+
+void cScDevices::DelScDevice(cDevice *Device)
+{
+ if (Device == NULL)
+ return;
+ int i = 0;
+ while ((i < numScDevices) && (i < MAXDEVICES)) {
+ if (scdevice[i] == Device) {
+ scdevice[i] = NULL;
+ break;
+ }
+ i++;
+ }
+}
+// END vdr-plugin-dynamite
+
void cScDevices::DvbName(const char *Name, int a, int f, char *buffer, int len)
{
snprintf(buffer,len,"%s%d/%s%d",DEV_DVB_ADAPTER,a,Name,f);
@@ -393,17 +445,22 @@
{
if(ScSetup.ForceTransfer)
SetTransferModeForDolbyDigital(2);
- for(int n=cDevice::NumDevices(); --n>=0;) {
- cDevice *dev=cDevice::GetDevice(n);
+// BEGIN vdr-plugin-dynamite
+ for(int n=NumScDevices(); --n>=0;) {
+ cDevice *dev=GetScDevice(n);
for(cScDevicePlugin *dp=devplugins.First(); dp; dp=devplugins.Next(dp))
if(dp->LateInit(dev)) break;
}
+ autoLateInit = true;
+// END vdr-plugin-dynamite
}
void cScDevices::Shutdown(void)
{
- for(int n=cDevice::NumDevices(); --n>=0;) {
- cDevice *dev=cDevice::GetDevice(n);
+// BEGIN vdr-plugin-dynamite
+ for(int n=NumScDevices(); --n>=0;) {
+ cDevice *dev=GetScDevice(n);
+// END vdr-plugin-dynamite
for(cScDevicePlugin *dp=devplugins.First(); dp; dp=devplugins.Next(dp))
if(dp->EarlyShutdown(dev)) break;
}
diff -r 442eee2f550d device.h
--- a/device.h Sun Oct 02 21:09:13 2011 +0200
+++ b/device.h Thu Oct 13 00:15:52 2011 +0200
@@ -84,6 +84,21 @@
static bool ForceBudget(int n);
static void DvbName(const char *Name, int a, int f, char *buffer, int len);
static int DvbOpen(const char *Name, int a, int f, int Mode, bool ReportError=false);
+
+// BEGIN vdr-plugin-dynamite
+// dynamite fills the vdr::cDevice::device array with vdr::plugin::dynamite::cDynamicDevice
+// we have to maintain our own list of sc-devices
+private:
+ static int numScDevices;
+ static cDevice *scdevice[MAXDEVICES];
+ static bool autoLateInit;
+public:
+ static int NumScDevices(void);
+ static cDevice *GetScDevice(int CardIndex);
+ static void AddScDevice(cDevice *Device);
+ static void DelScDevice(cDevice *Device);
+ static bool AutoLateInit() { return autoLateInit; };
+// END vdr-plugin-dynamite
};
// ----------------------------------------------------------------

View File

@ -29,10 +29,11 @@ cd $PKG_BUILD
cat > Make.config <<EOF
PLUGINLIBDIR = /usr/lib/vdr
PREFIX = /usr
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
@ -46,3 +47,5 @@ fi
make vdr
make include-dir
make plugins
make install DESTDIR=$ROOT/$PKG_BUILD/.install/

View File

@ -20,14 +20,14 @@
################################################################################
PKG_NAME="vdr"
PKG_VERSION="1.7.33"
PKG_VERSION="2.0.1"
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_BUILD_DEPENDS="toolchain fontconfig freetype libcap libjpeg-turbo bzip2 ncurses"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr: A powerful DVB TV application"

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

View File

@ -0,0 +1,26 @@
diff --git a/PLUGINS/src/skincurses/Makefile b/PLUGINS/src/skincurses/Makefile
index fa0ce41..5c71bcf 100644
--- a/PLUGINS/src/skincurses/Makefile
+++ b/PLUGINS/src/skincurses/Makefile
@@ -102,7 +102,7 @@ install-i18n: $(I18Nmsgs)
### Targets:
$(SOFILE): $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncurses -o $@
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
diff --git a/PLUGINS/src/skincurses/skincurses.c b/PLUGINS/src/skincurses/skincurses.c
index 8a4da96..4c2eeed 100644
--- a/PLUGINS/src/skincurses/skincurses.c
+++ b/PLUGINS/src/skincurses/skincurses.c
@@ -6,7 +6,7 @@
* $Id: skincurses.c 2.13 2013/03/31 09:30:18 kls Exp $
*/
-#include <ncurses.h>
+#include <ncurses/ncurses.h>
#include <vdr/osd.h>
#include <vdr/plugin.h>
#include <vdr/skins.h>

View File

@ -1,3 +1,8 @@
3.0.8
- update to CouchPotatoServe-f1dde5c
- update to Headphones-ebbe908
- update to SickBeard-fb37d33
3.0.7
- update to CouchPotatoServe-5a23be2
- update to SickBeard-ebec1de

View File

@ -20,7 +20,7 @@
PKG_NAME="SABnzbd-Suite"
PKG_VERSION="3.0"
PKG_REV="7"
PKG_REV="8"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.openelec.tv"

View File

@ -33,11 +33,12 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config
cp $BUILD/vdr-[0-9]*/sources.conf $ADDON_BUILD/$PKG_ADDON_ID/config
cp $BUILD/vdr-[0-9]*/svdrphosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config
echo '0.0.0.0/0' >> $ADDON_BUILD/$PKG_ADDON_ID/config/svdrphosts.conf
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/live
cp -PR $BUILD/vdr-live-*/live/* $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/live
cp $PKG_DIR/config.plugins/remote.conf $ADDON_BUILD/$PKG_ADDON_ID/config
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/epgsearch
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/res/plugins/live
cp -PR $BUILD/vdr-live-*/live/* $ADDON_BUILD/$PKG_ADDON_ID/res/plugins/live
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins
cp $BUILD/rotorng-[0-9]*/examples/rotorng.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins
@ -45,9 +46,10 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/epgsources/epgdata2xmltv
cp $BUILD/vdr-plugin-xmltv2vdr*/dist/epgdata2xmltv/epgdata2xmltv.dist $ADDON_BUILD/$PKG_ADDON_ID/config/epgsources/epgdata2xmltv/
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-[0-9]*/.install/usr/lib/vdr/libvdr-dvbhddevice.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-[0-9]*/.install/usr/lib/vdr/libvdr-dvbsddevice.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-plugin-xvdr-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-plugin-vnsiserver-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-dynamite-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-iptv-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-wirbelscan-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-wirbelscancontrol-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin

View File

@ -1,3 +1,17 @@
3.0.5
- updated to vdr-2.0.1
- remove dynamite plugin
- update to vdr-epgsearch-e2de927
- update to vdr-iptv-2.0.0
- update to vdr-plugin-streamdev-329129d
- update to vdr-live-0.3.0
- update to vdr-plugin-dvbapi-555272d
- update to vdr-plugin-xmltv2vdr-41b998d
- update to vdr-plugin-xvdr-935a294
- update to rotorng-0.3.1
- added dvbsddevice plugin
- added dvbhddevice plugin
3.0.4
- update to vdr-1.1.33
- update to vdr-plugin-dvbapi-cd93752

View File

@ -4,7 +4,6 @@
<setting id="REMOVE_MODULES" value="" />
<setting id="VDR_VIDEO_DIR" value="/storage/videos" />
<setting id="PVR_PLUGIN" value="vnsiserver" />
<setting id="ENABLE_DYNAMITE" value="true" />
<setting id="ENABLE_IPTV" value="false" />
<setting id="ENABLE_SOFTCAM" value="true" />
<setting id="ENABLE_STREAMDEV_CLIENT" value="false" />
@ -18,4 +17,6 @@
<setting id="ENABLE_ROTORNG" value="false" />
<setting id="ENABLE_EPGSEARCH" value="false" />
<setting id="SOFTCAM_PLUGIN" value="sc" />
<setting id="ENABLE_DVB_PLUGIN" value="false" />
<setting id="DVB_PLUGIN" value="dvbsddevice" />
</settings>

View File

@ -21,13 +21,13 @@
PKG_NAME="vdr-addon"
PKG_VERSION="3.0"
PKG_REV="4"
PKG_REV="5"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.openelec.tv"
PKG_URL=""
PKG_DEPENDS=""
PKG_BUILD_DEPENDS="toolchain attr libcap vdr vdr-plugin-xvdr vdr-plugin-vnsiserver vdr-iptv vdr-wirbelscan vdr-wirbelscancontrol vdr-sc vdr-plugin-dvbapi vdr-dynamite vdr-plugin-streamdev vdr-live rotorng vdr-control vdr-epgsearch vdr-plugin-xmltv2vdr"
PKG_BUILD_DEPENDS="toolchain attr libcap vdr vdr-plugin-xvdr vdr-plugin-vnsiserver vdr-iptv vdr-wirbelscan vdr-wirbelscancontrol vdr-sc vdr-plugin-dvbapi vdr-plugin-streamdev vdr-live rotorng vdr-control vdr-epgsearch vdr-plugin-xmltv2vdr"
PKG_PRIORITY="optional"
PKG_SECTION="service.multimedia"
PKG_SHORTDESC="vdr: A powerful DVB TV application"

View File

@ -49,8 +49,14 @@ cp $ADDON_DIR/config/epgsources/epgdata2xmltv/epgdata2xmltv.dist /var/lib/epgsou
VDR_ARG="-g /tmp --no-kbd --log=3 --port=0"
VDR_ARG="$VDR_ARG --config=$ADDON_CONFIG_DIR"
VDR_ARG="$VDR_ARG --resdir=$ADDON_DIR/res"
VDR_ARG="$VDR_ARG --lib=$ADDON_PLUGIN_DIR"
VDR_ARG="$VDR_ARG --video=\"$VDR_VIDEO_DIR\""
if [ "$ENABLE_DVB_PLUGIN" == "true" ] ; then
VDR_ARG="$VDR_ARG -P $DVB_PLUGIN"
fi
VDR_ARG="$VDR_ARG -P $PVR_PLUGIN"
if [ "$ENABLE_SOFTCAM" == "true" ] ; then
@ -83,10 +89,6 @@ fi
if [ "$ENABLE_XMLTV2VDR" == "true" ] ; then
VDR_ARG="$VDR_ARG -P xmltv2vdr"
fi
# dynamite must be LAST loaded plugin
if [ "$ENABLE_DYNAMITE" == "true" ] ; then
VDR_ARG="$VDR_ARG -P dynamite"
fi
(
cd $ADDON_DIR/config

View File

@ -12,7 +12,6 @@
<string id="1032">Enable plugin: streamdev-client</string>
<string id="1033">Enable plugin: streamdev-server</string>
<string id="1034">Enable plugin: wirbelscan</string>
<string id="1035">Enable plugin: dynamite</string>
<string id="1036">Enable softcam</string>
<string id="1037">softcam plugin</string>
<string id="1038">Enable plugin: live</string>
@ -28,4 +27,6 @@
<string id="1051">VDR Configuration</string>
<string id="1052">VDR Video Dir</string>
<string id="1053">PVR plugin</string>
<string id="1054">Enable dvb(sd|hd)device plugin</string>
<string id="1055">plugin</string>
</strings>

View File

@ -30,9 +30,11 @@
<setting id="ENABLE_XMLTV2VDR" type="bool" label="1045" default="false" />
<setting id="ENABLE_EPGDATA" type="bool" label="1046" default="false" />
<setting id="EPGDATA_PIN" type="number" label="1047" values="" enable="!eq(-1,false)" default="1234"/>
<setting id="ENABLE_DYNAMITE" type="bool" label="1035" default="true" />
<setting type="sep" />
<setting id="ENABLE_SOFTCAM" type="bool" label="1036" default="true" />
<setting id="SOFTCAM_PLUGIN" type="labelenum" label="1037" values="sc|dvbapi" enable="!eq(-1,false)" default="sc" />
<setting type="sep" />
<setting id="ENABLE_DVB_PLUGIN" type="bool" label="1054" default="false" />
<setting id="DVB_PLUGIN" type="labelenum" label="1055" values="dvbsddevice|dvbhddevice" enable="!eq(-1,false)" default="dvbsddevice" />
</category>
</settings>

View File

@ -20,6 +20,9 @@
PKG_NAME="xbmc-addon-xvdr"
PKG_VERSION="34070b5"
if [ "$XBMC" = "master" ]; then
PKG_VERSION="48ea839"
fi
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,43 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
echo "getting sources..."
if [ ! -d vdr-dynamite.git ]; then
git clone git://projects.vdr-developer.org/vdr-plugin-dynamite.git vdr-dynamite.git
fi
cd vdr-dynamite.git
git pull
GIT_REV=`git log -n1 --format=%h`
cd ..
echo "copying sources..."
rm -rf vdr-dynamite-$GIT_REV
cp -R vdr-dynamite.git vdr-dynamite-$GIT_REV
echo "cleaning sources..."
rm -rf vdr-dynamite-$GIT_REV/.git
echo "packing sources..."
tar cvJf vdr-dynamite-$GIT_REV.tar.xz vdr-dynamite-$GIT_REV
echo "remove temporary sourcedir..."
rm -rf vdr-dynamite-$GIT_REV