summaryrefslogtreecommitdiff
path: root/multimedia/vdr
diff options
context:
space:
mode:
authorJuergen Lock <nox@FreeBSD.org>2012-04-21 14:10:58 +0000
committerJuergen Lock <nox@FreeBSD.org>2012-04-21 14:10:58 +0000
commit21694da2c566eaa9c10c6ef28211ff5dcc64fc0b (patch)
treeaddbbf4b5bdb1599aaa2de3e5468c3e5086cf6ac /multimedia/vdr
parent- Unbreak. (diff)
- Update multimedia/vdr and multimedia/vdr-plugins to 1.7.27 .
- Update multimedia/vdr-plugin-epgsearch to 1.0.1s20120322 git snapshot. - Update multimedia/vdr-plugin-femon to 1.7.15 . - Update multimedia/vdr-plugin-iptv to 0.5.0 . - Update multimedia/vdr-plugin-osdteletext to 0.9.2 . - Update multimedia/vdr-plugin-streamdev to 0.5.1p20120311 git snapthot. - Update multimedia/vdr-plugin-xineliboutput to 1.0.90s20111129.1002 cvs snapshot. - Bump PORTREVISION for all other plugins and add vdr 1.7.27 compatibility/bugfix patches where necessary.
Diffstat (limited to 'multimedia/vdr')
-rw-r--r--multimedia/vdr/Makefile20
-rw-r--r--multimedia/vdr/Makefile.plugins4
-rw-r--r--multimedia/vdr/distinfo6
-rw-r--r--multimedia/vdr/files/patch-channels.c12
-rw-r--r--multimedia/vdr/files/patch-clang11
-rw-r--r--multimedia/vdr/files/patch-dvbdevice.c17
-rw-r--r--multimedia/vdr/files/patch-dvbdevice.h6
-rw-r--r--multimedia/vdr/files/patch-eitscan.c11
-rw-r--r--multimedia/vdr/files/patch-receiver.h-LEGACY_CRECEIVER11
-rw-r--r--multimedia/vdr/files/patch-recording.h-__RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS11
-rw-r--r--multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD (renamed from multimedia/vdr/files/patch-vdr-1.7.22_FreeBSD)108
-rw-r--r--multimedia/vdr/files/patch-z-config.c10
-rw-r--r--multimedia/vdr/files/vdr-1.7.27-pat.diff44
-rw-r--r--multimedia/vdr/pkg-plist22
14 files changed, 182 insertions, 111 deletions
diff --git a/multimedia/vdr/Makefile b/multimedia/vdr/Makefile
index 19d15af4c04b..af6c5aeb175a 100644
--- a/multimedia/vdr/Makefile
+++ b/multimedia/vdr/Makefile
@@ -6,10 +6,14 @@
#
PORTNAME= vdr
-PORTVERSION= 1.7.22
+PORTVERSION= 1.7.27
CATEGORIES= multimedia
MASTER_SITES= ftp://ftp.tvdr.de/vdr/Developer/
+PATCH_SITES= http://www.udo-richter.de/vdr/files/
+PATCHFILES= vdr-1.7.24-s2apiwrapper-0.8.diff
+PATCH_DIST_STRIP= -p1
+
MAINTAINER= nox@FreeBSD.org
COMMENT= Video Disk Recorder - development version
@@ -19,7 +23,8 @@ BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:${PORTSDIR}/x11-fon
RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:${PORTSDIR}/x11-fonts/fontconfig
OPTIONS= IPTVPATCH "Stops EIT scans on IPTV channels" On \
- TTXPATCH "Support patches for teletext subtitle plugin" On
+ TTXPATCH "Support patches for teletext subtitle plugin" On \
+ DVBPATCH "DVB audio patch for some countries" Off
DIST_SUBDIR= vdr
USE_BZIP2= yes
@@ -36,11 +41,13 @@ CONFDIR= $(ETCDIR)
USE_CSTD= gnu89
MAKE_ARGS+= CC=${CC}
MAKE_ARGS+= CXX=${CXX}
-MAKE_ARGS+= DVBDIR=${LOCALBASE}/include
MAKE_ARGS+= VDR_USER=${VDR_USER}
MAKE_ARGS+= CONFDIR=$(CONFDIR)
MAKE_ARGS+= OSTYPE=FreeBSD
MAKE_ARGS+= LIRC_DEVICE=/var/run/lirc/lircd
+MAKE_ARGS+= LIBDIR=../../lib
+MAKE_ARGS+= VDRDIR=${WRKSRC}
+MAKE_ARGS+= TMPDIR=/tmp
ALL_TARGET= all plugins
VIDEODIR= /video
@@ -60,6 +67,9 @@ EXTRA_PATCHES+= ${FILESDIR}/vdr-1.7.15-disable_ca_updates.patch
.if defined(WITH_IPTVPATCH)
EXTRA_PATCHES+= ${FILESDIR}/vdr-1.7.15-disable_eitscan.patch
.endif
+.if defined(WITH_DVBPATCH)
+EXTRA_PATCHES+= ${FILESDIR}/vdr-1.7.27-pat.diff
+.endif
.if defined(WITH_TTXPATCH)
PLIST_SUB+= TTXPATCH=""
@@ -79,6 +89,8 @@ post-patch:
@${REINPLACE_CMD} '/^MAKEDEP.*-MM/s/-MG[[:space:]]*$$/# -MG/' \
${WRKSRC}/Makefile ${WRKSRC}/libsi/Makefile \
${WRKSRC}/PLUGINS/src/*/Makefile
+ @[ ! -f ${WRKSRC}/s2apiwrapper.c ] || \
+ ${REINPLACE_CMD} 's/__u32/uint32_t/' ${WRKSRC}/s2apiwrapper.c
.if defined(WITH_TTXPATCH)
@${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-1
@${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-2
@@ -88,8 +100,6 @@ post-patch:
@${REINPLACE_CMD} -e 's|%%CONFDIR%%|${CONFDIR}|' ${WRKSRC}/vdr.1
# We don't support this yet:
@${RM} -r ${WRKSRC}/PLUGINS/src/dvbhddevice
-# upstream bug:
- @${CP} ${WRKSRC}/svdrpsend.pl ${WRKSRC}/svdrpsend
post-install:
.if !defined(WITHOUT_NLS)
diff --git a/multimedia/vdr/Makefile.plugins b/multimedia/vdr/Makefile.plugins
index 50ce7bc76f6b..65152561d42a 100644
--- a/multimedia/vdr/Makefile.plugins
+++ b/multimedia/vdr/Makefile.plugins
@@ -1,12 +1,13 @@
# this is to be included by vdr plugin ports
#
-# $FreeBSD: /tmp/pcvs/ports/multimedia/vdr/Makefile.plugins,v 1.2 2011-06-25 19:02:04 nox Exp $
+# $FreeBSD: /tmp/pcvs/ports/multimedia/vdr/Makefile.plugins,v 1.3 2012-04-21 14:10:52 nox Exp $
BUILD_DEPENDS+= ${LOCALBASE}/include/linux/dvb/frontend.h:${PORTSDIR}/multimedia/v4l_compat
BUILD_DEPENDS+= vdr:${PORTSDIR}/multimedia/vdr
RUN_DEPENDS+= vdr:${PORTSDIR}/multimedia/vdr
+APIVERSION= 1.7.27
DIST_SUBDIR= vdr
PATCH_SUBDIR= vdr
USE_GMAKE= yes
@@ -28,6 +29,7 @@ VDR_USER= vdr
VDR_GROUP= vdr
PLIST_SUB= VDR_USER=${VDR_USER}
PLIST_SUB+= VDR_GROUP=${VDR_GROUP}
+PLIST_SUB+= APIVERSION=${APIVERSION}
.if !defined(WITHOUT_NLS)
PLIST_SUB+= NLS=""
diff --git a/multimedia/vdr/distinfo b/multimedia/vdr/distinfo
index da4eaa4d8932..e829026e8d76 100644
--- a/multimedia/vdr/distinfo
+++ b/multimedia/vdr/distinfo
@@ -1,2 +1,4 @@
-SHA256 (vdr/vdr-1.7.22.tar.bz2) = 73c36058400bc86b8b5aaaf5de0989551e4e6fc052157bebd180bfac4af7f628
-SIZE (vdr/vdr-1.7.22.tar.bz2) = 757800
+SHA256 (vdr/vdr-1.7.27.tar.bz2) = d948841535b917ab6eb31582d6d40bc281ff6a751988e5bfc1b097567e7ca264
+SIZE (vdr/vdr-1.7.27.tar.bz2) = 767714
+SHA256 (vdr/vdr-1.7.24-s2apiwrapper-0.8.diff) = 2d8b83c01c769c05bcc1a27889f9eb7223aea4e74b66e67b876c52e7fd0f296a
+SIZE (vdr/vdr-1.7.24-s2apiwrapper-0.8.diff) = 19788
diff --git a/multimedia/vdr/files/patch-channels.c b/multimedia/vdr/files/patch-channels.c
new file mode 100644
index 000000000000..b98a445c37b5
--- /dev/null
+++ b/multimedia/vdr/files/patch-channels.c
@@ -0,0 +1,12 @@
+diff -pruN vdr-1.7.27-orig/channels.c vdr-1.7.27/channels.c
+--- channels.c
++++ channels.c
+@@ -955,7 +955,7 @@ int cChannels::MaxShortChannelNameLength
+ if (!maxShortChannelNameLength) {
+ for (cChannel *channel = First(); channel; channel = Next(channel)) {
+ if (!channel->GroupSep())
+- maxShortChannelNameLength = max(Utf8StrLen(channel->ShortName()), maxShortChannelNameLength);
++ maxShortChannelNameLength = max(Utf8StrLen(channel->ShortName(true)), maxShortChannelNameLength);
+ }
+ }
+ return maxShortChannelNameLength;
diff --git a/multimedia/vdr/files/patch-clang b/multimedia/vdr/files/patch-clang
deleted file mode 100644
index 1691aedbdcd6..000000000000
--- a/multimedia/vdr/files/patch-clang
+++ /dev/null
@@ -1,11 +0,0 @@
---- config.h.orig
-+++ config.h
-@@ -103,7 +103,7 @@ public:
- if (!isempty(s)) {
- T *l = new T;
- if (l->Parse(s))
-- Add(l);
-+ this->Add(l);
- else {
- esyslog("ERROR: error in %s, line %d", fileName, line);
- delete l;
diff --git a/multimedia/vdr/files/patch-dvbdevice.c b/multimedia/vdr/files/patch-dvbdevice.c
index 964571ac9d0f..dfc493d52efd 100644
--- a/multimedia/vdr/files/patch-dvbdevice.c
+++ b/multimedia/vdr/files/patch-dvbdevice.c
@@ -8,20 +8,3 @@
#include "dvbdevice.h"
#include <ctype.h>
#include <errno.h>
-@@ -800,10 +801,13 @@ bool cDvbDevice::Initialize(void)
- NextCardIndex(1); // skips this one
- }
- }
-- else if (Frontend == 0)
-- goto LastAdapter;
-- else
-+ else {
-+ if (Checked >= MAXDVBDEVICES || Adapter >= MAXDVBDEVICES)
-+ goto LastAdapter;
-+ if (Frontend == 0)
-+ NextCardIndex(1); // skips this one
- goto NextAdapter;
-+ }
- }
- NextAdapter: ;
- }
diff --git a/multimedia/vdr/files/patch-dvbdevice.h b/multimedia/vdr/files/patch-dvbdevice.h
index 8867a48b4cbe..6f8297393951 100644
--- a/multimedia/vdr/files/patch-dvbdevice.h
+++ b/multimedia/vdr/files/patch-dvbdevice.h
@@ -1,11 +1,11 @@
--- dvbdevice.h.orig
+++ dvbdevice.h
-@@ -19,7 +19,7 @@
- #error VDR requires Linux DVB driver API version 5.0 or higher!
+@@ -18,7 +18,7 @@
+ #error VDR requires Linux DVB driver API version 5.3 or higher!
#endif
-#define MAXDVBDEVICES 8
+#define MAXDVBDEVICES 63
+ #define MAXDELIVERYSYSTEMS 8
#define DEV_VIDEO "/dev/video"
- #define DEV_DVB_ADAPTER "/dev/dvb/adapter"
diff --git a/multimedia/vdr/files/patch-eitscan.c b/multimedia/vdr/files/patch-eitscan.c
new file mode 100644
index 000000000000..af276b6a2f14
--- /dev/null
+++ b/multimedia/vdr/files/patch-eitscan.c
@@ -0,0 +1,11 @@
+--- eitscan.c.orig
++++ eitscan.c
+@@ -148,7 +148,7 @@ void cEITScanner::Process(void)
+ if (Channel) {
+ if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= CA_ENCRYPTED_MIN) {
+ if (Device->ProvidesTransponder(Channel)) {
+- if (!Device->Receiving()) {
++ if (Device->Priority() < 0) {
+ bool MaySwitchTransponder = Device->MaySwitchTransponder(Channel);
+ if (MaySwitchTransponder || Device->ProvidesTransponderExclusively(Channel) && now - lastActivity > Setup.EPGScanTimeout * 3600) {
+ if (!MaySwitchTransponder) {
diff --git a/multimedia/vdr/files/patch-receiver.h-LEGACY_CRECEIVER b/multimedia/vdr/files/patch-receiver.h-LEGACY_CRECEIVER
new file mode 100644
index 000000000000..2d12071a5593
--- /dev/null
+++ b/multimedia/vdr/files/patch-receiver.h-LEGACY_CRECEIVER
@@ -0,0 +1,11 @@
+--- receiver.h.orig
++++ receiver.h
+@@ -14,7 +14,7 @@
+
+ #define MAXRECEIVEPIDS 64 // the maximum number of PIDs per receiver
+
+-//#define LEGACY_CRECEIVER // Code enclosed with this macro is deprecated and may be removed in a future version
++#define LEGACY_CRECEIVER // Code enclosed with this macro is deprecated and may be removed in a future version
+
+ class cReceiver {
+ friend class cDevice;
diff --git a/multimedia/vdr/files/patch-recording.h-__RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS b/multimedia/vdr/files/patch-recording.h-__RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS
new file mode 100644
index 000000000000..7f029ed6febe
--- /dev/null
+++ b/multimedia/vdr/files/patch-recording.h-__RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS
@@ -0,0 +1,11 @@
+--- recording.h.orig
++++ recording.h
+@@ -22,7 +22,7 @@
+ #define TIMERMACRO_TITLE "TITLE"
+ #define TIMERMACRO_EPISODE "EPISODE"
+
+-//#define __RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS // Code enclosed with this macro is deprecated and may be removed in a future version
++#define __RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS // Code enclosed with this macro is deprecated and may be removed in a future version
+
+ extern bool VfatFileSystem;
+ extern int InstanceId;
diff --git a/multimedia/vdr/files/patch-vdr-1.7.22_FreeBSD b/multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD
index c65207d1bc63..65120f540818 100644
--- a/multimedia/vdr/files/patch-vdr-1.7.22_FreeBSD
+++ b/multimedia/vdr/files/patch-vdr-1.7.27_FreeBSD
@@ -1,7 +1,7 @@
Index: Make.config.template
@@ -8,6 +8,11 @@
#
- # $Id: Make.config.template 2.4 2011/12/04 14:41:00 kls Exp $
+ # $Id: Make.config.template 2.8 2012/03/20 11:20:13 kls Exp $
+OSTYPE ?= $(shell uname -s)
+ifeq ($(OSTYPE),FreeBSD)
@@ -11,53 +11,36 @@ Index: Make.config.template
### The C compiler and options:
CC = gcc
-@@ -23,20 +28,34 @@ endif
-
- ### The directory environment:
-
--#DVBDIR = /usr/src/v4l-dvb/linux
--MANDIR = /usr/local/man
--BINDIR = /usr/local/bin
-+PREFIX = /usr/local
-+MANDIR = $(PREFIX)/man
-+BINDIR = $(PREFIX)/bin
+@@ -28,11 +33,22 @@ PREFIX = $(DESTDIR)/usr/local
+ MANDIR = $(PREFIX)/man
+ BINDIR = $(PREFIX)/bin
--LOCDIR = ./locale
- PLUGINDIR= ./PLUGINS
--PLUGINLIBDIR= $(PLUGINDIR)/lib
- VIDEODIR = /video
-+
+ifdef FREEBSD
+# you have to set DVBDIR to a valid path!!!
+# you will need extra patches for DVBDIR!!!
-+DVBDIR = /usr/src/v4l-dvb/linux
-+LOCDIR = $(PREFIX)/share/locale
-+CONFDIR = $(PREFIX)/etc/vdr
-+PLUGINLIBDIR= $(PREFIX)/lib/vdr
++#DVBDIR = /usr/local/include
++LOCDIR = $(PREFIX)/share/locale
++PLUGINDIR = ./PLUGINS
++PLUGINLIBDIR = $(PREFIX)/lib/vdr
++VIDEODIR = /video
++CONFDIR = $(PREFIX)/etc/vdr
+else
-+LOCDIR = ./locale
-+PLUGINLIBDIR= $(PLUGINDIR)/lib
- CONFDIR = $(VIDEODIR)
+ LOCDIR = ./locale
+ PLUGINDIR = ./PLUGINS
+ PLUGINLIBDIR = $(PLUGINDIR)/lib
+ VIDEODIR = /video
+ CONFDIR = $(VIDEODIR)
+endif
### The remote control:
- LIRC_DEVICE = /var/run/lirc/lircd
-+ifdef FREEBSD
-+RCU_DEVICE = /dev/cuau0
-+else
- RCU_DEVICE = /dev/ttyS1
-+endif
-
- ## Define if you want vdr to not run as root
- #VDR_USER = vdr
-@@ -46,3 +65,7 @@ RCU_DEVICE = /dev/ttyS1
+@@ -46,3 +62,7 @@ LIRC_DEVICE = /var/run/lirc/lircd
ifdef DVBDIR
INCLUDES += -I$(DVBDIR)/include
endif
+
+ifdef FREEBSD
-+INCLUDES += -I/usr/local/include
++INCLUDES += -I$(VDRDIR)/include -I/usr/local/include
+endif
Index: Makefile
@@ -8,6 +8,11 @@
@@ -72,19 +55,19 @@ Index: Makefile
CC ?= gcc
CFLAGS ?= -g -O3 -Wall
-@@ -21,7 +26,11 @@ MANDIR = $(PREFIX)/share/man
- BINDIR = $(PREFIX)/bin
- INCDIR = $(PREFIX)/include
- LOCDIR = ./locale
+@@ -21,7 +26,11 @@ MANDIR ?= $(PREFIX)/share/man
+ BINDIR ?= $(PREFIX)/bin
+ INCDIR ?= $(PREFIX)/include
+ LOCDIR ?= ./locale
+ifdef FREEBSD
-+LIBS = -ljpeg -lpthread -lrt $(shell pkg-config --libs freetype2 fontconfig) -liconv -lintl -lutil
++LIBS = -ljpeg -lpthread -lrt -lutil -lintl -liconv $(shell pkg-config --libs freetype2 fontconfig)
+else
LIBS = -ljpeg -lpthread -ldl -lcap -lrt $(shell pkg-config --libs freetype2 fontconfig)
+endif
INCLUDES ?= $(shell pkg-config --cflags freetype2 fontconfig)
PLUGINDIR= ./PLUGINS
-@@ -151,7 +160,11 @@ i18n: $(I18Nmsgs)
+@@ -150,7 +159,11 @@ i18n: $(I18Nmsgs)
install-i18n:
@mkdir -p $(DESTDIR)$(LOCDIR)
@@ -96,7 +79,7 @@ Index: Makefile
# The 'include' directory (for plugins):
-@@ -190,7 +203,11 @@ install: install-bin install-conf instal
+@@ -189,7 +202,11 @@ install: install-bin install-conf instal
install-bin: vdr
@mkdir -p $(DESTDIR)$(BINDIR)
@@ -108,7 +91,7 @@ Index: Makefile
# Configuration files:
-@@ -213,13 +230,18 @@ install-doc:
+@@ -212,13 +229,18 @@ install-doc:
install-plugins: plugins
@mkdir -p $(DESTDIR)$(PLUGINLIBDIR)
@@ -839,14 +822,7 @@ diff -u -r1.1.1.5 -r1.8
off_t cUnbufferedFile::Seek(off_t Offset, int Whence)
{
Index: tools.h
-===================================================================
-RCS file: /progs/network/ccvs/vdr/tools.h,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- tools.h 2010/02/17 10:14:44 1.1.1.2
-+++ tools.h 2010/02/17 10:46:55 1.3
-@@ -26,6 +26,12 @@
+@@ -27,6 +27,12 @@
#include <sys/stat.h>
#include <sys/types.h>
@@ -859,10 +835,10 @@ diff -u -r1.1.1.2 -r1.3
typedef unsigned char uchar;
extern int SysLogLevel;
-@@ -216,9 +222,17 @@
- bool SpinUpDisk(const char *FileName);
+@@ -227,9 +233,17 @@ bool SpinUpDisk(const char *FileName);
void TouchFile(const char *FileName);
time_t LastModifiedTime(const char *FileName);
+ off_t FileSize(const char *FileName); ///< returns the size of the given file, or -1 in case of an error (e.g. if the file doesn't exist)
+#ifdef __FreeBSD__
+cString WeekDayNameReal(int WeekDay);
+#else
@@ -1220,3 +1196,31 @@ diff -u -r1.1.1.4 -r1.7
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
+--- PLUGINS/src/epgtableid0/Makefile.orig
++++ PLUGINS/src/epgtableid0/Makefile
+@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
+
+ libvdr-$(PLUGIN).so: $(OBJS)
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
++ifdef FREEBSD
++ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
++else
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
++endif
+
+ dist: $(I18Npo) clean
+ @-rm -rf $(TMPDIR)/$(ARCHIVE)
+--- PLUGINS/src/rcu/Makefile.orig
++++ PLUGINS/src/rcu/Makefile
+@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
+
+ libvdr-$(PLUGIN).so: $(OBJS)
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
++ifdef FREEBSD
++ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
++else
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
++endif
+
+ dist: $(I18Npo) clean
+ @-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/multimedia/vdr/files/patch-z-config.c b/multimedia/vdr/files/patch-z-config.c
deleted file mode 100644
index 6ffc4a252f6e..000000000000
--- a/multimedia/vdr/files/patch-z-config.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- config.c.orig
-+++ config.c
-@@ -72,7 +72,6 @@ cSatCableNumbers::cSatCableNumbers(int S
- {
- size = Size;
- array = MALLOC(int, size);
-- memset(array, size * sizeof(int), 0);
- FromString(s);
- }
-
diff --git a/multimedia/vdr/files/vdr-1.7.27-pat.diff b/multimedia/vdr/files/vdr-1.7.27-pat.diff
new file mode 100644
index 000000000000..859c9bdf4b1e
--- /dev/null
+++ b/multimedia/vdr/files/vdr-1.7.27-pat.diff
@@ -0,0 +1,44 @@
+--- pat.c 2012/03/02 10:56:45 2.17
++++ pat.c 2012/04/09 11:49:39 2.18
+@@ -456,11 +456,28 @@
+ }
+ }
+ break;
+- case 0x80: // STREAMTYPE_USER_PRIVATE - DigiCipher II VIDEO (ANSI/SCTE 57)
+- Vpid = esPid;
+- Ppid = pmt.getPCRPid();
+- Vtype = 0x02; // compression based upon MPEG-2
+- ProcessCaDescriptors = true;
++ // see http://www.smpte-ra.org/mpegreg/mpegreg.html for the codes used below
++ case 0x80: { // STREAMTYPE_USER_PRIVATE - DigiCipher II VIDEO (ANSI/SCTE 57)
++ SI::Descriptor *d;
++ for (SI::Loop::Iterator it; (d = stream.streamDescriptors.getNext(it)); ) {
++ switch (d->getDescriptorTag()) {
++ case SI::RegistrationDescriptorTag: {
++ SI::RegistrationDescriptor *rd = (SI::RegistrationDescriptor *)d;
++ switch (rd->getFormatIdentifier()) {
++ case 0x44434949: // 'DCII' aka. DigiCipher II
++ Vpid = esPid;
++ Ppid = pmt.getPCRPid();
++ Vtype = 0x02; // compression based upon MPEG-2
++ ProcessCaDescriptors = true;
++ break;
++ default: ;
++ }
++ }
++ break;
++ default: ;
++ }
++ }
++ }
+ break;
+ case 0x81: // STREAMTYPE_USER_PRIVATE - ATSC A/53 AUDIO (ANSI/SCTE 57)
+ {
+@@ -495,7 +512,6 @@
+ switch (d->getDescriptorTag()) {
+ case SI::RegistrationDescriptorTag: {
+ SI::RegistrationDescriptor *rd = (SI::RegistrationDescriptor *)d;
+- // http://www.smpte-ra.org/mpegreg/mpegreg.html
+ switch (rd->getFormatIdentifier()) {
+ case 0x41432D33: // 'AC-3'
+ IsAc3 = true;
diff --git a/multimedia/vdr/pkg-plist b/multimedia/vdr/pkg-plist
index e1f34b025177..d9c6b8c66656 100644
--- a/multimedia/vdr/pkg-plist
+++ b/multimedia/vdr/pkg-plist
@@ -1,15 +1,17 @@
bin/svdrpsend
bin/vdr
bin/vdr-waitdvb
-lib/vdr/libvdr-dvbsddevice.so.1.7.22
-lib/vdr/libvdr-svcsvr.so.1.7.22
-lib/vdr/libvdr-svccli.so.1.7.22
-lib/vdr/libvdr-status.so.1.7.22
-lib/vdr/libvdr-skincurses.so.1.7.22
-lib/vdr/libvdr-pictures.so.1.7.22
-lib/vdr/libvdr-osddemo.so.1.7.22
-lib/vdr/libvdr-hello.so.1.7.22
-lib/vdr/libvdr-svdrpdemo.so.1.7.22
+lib/vdr/libvdr-dvbsddevice.so.1.7.27
+lib/vdr/libvdr-svcsvr.so.1.7.27
+lib/vdr/libvdr-svccli.so.1.7.27
+lib/vdr/libvdr-status.so.1.7.27
+lib/vdr/libvdr-skincurses.so.1.7.27
+lib/vdr/libvdr-pictures.so.1.7.27
+lib/vdr/libvdr-osddemo.so.1.7.27
+lib/vdr/libvdr-hello.so.1.7.27
+lib/vdr/libvdr-svdrpdemo.so.1.7.27
+lib/vdr/libvdr-epgtableid0.so.1.7.27
+lib/vdr/libvdr-rcu.so.1.7.27
libdata/pkgconfig/vdr.pc
%%NLS%%share/locale/ar/LC_MESSAGES/vdr.mo
%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr.mo
@@ -106,7 +108,6 @@ include/vdr/remote.h
include/vdr/recording.h
include/vdr/recorder.h
include/vdr/receiver.h
-include/vdr/rcu.h
include/vdr/plugin.h
include/vdr/player.h
include/vdr/pat.h
@@ -135,6 +136,7 @@ include/vdr/cutter.h
include/vdr/ci.h
include/vdr/config.h
include/vdr/channels.h
+include/vdr/s2apiwrapper.h
include/vdr/Make.global
%%TTXPATCH%%include/vdr/vdrttxtsubshooks.h
@exec mkdir -p %D/etc/vdr/plugins