summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO59
-rw-r--r--50-xineliboutput.conf73
-rw-r--r--PKGBUILD83
-rw-r--r--xineliboutput-vdr2.1.10compat.diff19
-rw-r--r--xineliboutput-vdr2.1.6compat.diff29
-rw-r--r--xineliboutput_renamed_iDoubleTapTimeoutMs_in_libcec.diff13
6 files changed, 276 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f77ef654425b
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,59 @@
+pkgbase = xineliboutput
+ pkgver = 1.1.0.32.gbf166be
+ pkgrel = 9
+ url = http://www.sourceforge.net/projects/xineliboutput
+ arch = x86_64
+ arch = i686
+ arch = arm
+ arch = armv6h
+ arch = armv7h
+ license = GPL2
+ makedepends = dbus-glib
+ makedepends = git
+ makedepends = glu
+ makedepends = libcec
+ makedepends = libextractor
+ makedepends = libxrandr
+ makedepends = mesa
+ makedepends = vdr-api=2.2.0
+ makedepends = xine-lib
+ source = git://projects.vdr-developer.org/xineliboutput.git#commit=bf166be4a21c0a86f6852c4695dcdb06863f4e93
+ source = xineliboutput-vdr2.1.6compat.diff
+ source = xineliboutput_renamed_iDoubleTapTimeoutMs_in_libcec.diff
+ source = xineliboutput-vdr2.1.10compat.diff
+ source = 50-xineliboutput.conf
+ md5sums = SKIP
+ md5sums = 14ef92cd38503a2f426669aa43b0aeb4
+ md5sums = d9e14cb60e536109716ebc886f54880b
+ md5sums = de80424deabba49e3f40c2f92f640765
+ md5sums = a9a3cd09b950d2024b21a1c6e0620506
+
+pkgname = vdr-xineliboutput
+ pkgdesc = X11 and Linux framebuffer front-end for VDR
+ depends = dbus-glib
+ depends = libextractor
+ depends = libxrandr
+ depends = mesa
+ depends = vdr-api=2.2.0
+ depends = xine-lib
+ depends = xineliboutput-xineplug
+ optdepends = nvidia: Required for VDPAU decoding
+ optdepends = xorg-server: Required for software decoding
+ backup = etc/vdr/conf.avail/50-xineliboutput.conf
+ backup = var/lib/vdr/plugins/xineliboutput/allowed_hosts.conf
+
+pkgname = xineliboutput-frontends
+ pkgdesc = Xineliboutput frontends (vdr-fbfe and vdr-sxfe)
+ depends = dbus-glib
+ depends = libcec
+ depends = libxrandr
+ depends = mesa
+ depends = xine-lib
+ depends = xineliboutput-xineplug
+ optdepends = nvidia: Required for VDPAU decoding
+ optdepends = xorg-server: Required for software decoding
+
+pkgname = xineliboutput-xineplug
+ pkgdesc = Neccessary xine plugins for xineliboutput-frontends and vdr-xineliboutput
+ depends = xine-lib
+
diff --git a/50-xineliboutput.conf b/50-xineliboutput.conf
new file mode 100644
index 000000000000..23626bee9bf2
--- /dev/null
+++ b/50-xineliboutput.conf
@@ -0,0 +1,73 @@
+[xineliboutput]
+#--local=NAME
+# Use local frontend NAME
+# Supported frontends:
+# sxfe (X11)
+# fbfe (framebuffer)
+# none (only remote frontends)
+
+#--remote=PORT
+# Listen PORT for remote clients
+# (default 3789)
+# none or 0 disables remote mode
+# Also local interface address can be specified:
+# --remote=<ip>:<port> (default is all interfaces)
+
+#--audio=NAME
+# Use audio driver NAME for local frontend
+# Supported values:
+# auto, alsa, oss, esound, none
+
+#--video=NAME
+# Use video driver NAME for local frontend
+# Supported values:
+# for sxfe: auto, x11, xshm, xv, xvmc, xxmc, vdpau, vaapi, vidix, sdl, opengl, none
+# for fbfe: auto, fb, DirectFB, vidixfb, sdl, dxr3, aadxr3, none
+
+#--fullscreen
+# Fullscreen mode (X11)
+
+#--hud[=flag[,flag]]
+# Head Up Display OSD (X11)
+# flags:
+# xshape Use XShape instead of compositing
+# opengl Use OpenGL instead of compositing
+
+#--opengl
+# Use OpenGL for video and Head Up Display OSD
+
+#--width=x
+# Window width
+
+#--height=x
+# Window width
+
+#--geometry=WxH[+X+Y]
+# Set output window geometry (X style)
+
+#--display=DISP
+# Use X11 display DISP
+#" (or framebuffer device name)
+
+#--wid=ID
+# Use existing X11 window
+# Special ID for root window: --wid=root
+
+#--modeswitch
+# Enable video mode switching
+
+#--post=NAME
+# Use xine post plugin NAME
+# format: pluginname[:arg=val[,arg=val]][,...]\n"
+# example: \n"
+# --post=upmix;tvtime:enabled=1,cheap_mode=1\n"
+
+#--primary
+# Force xineliboutput to be primary device when
+# there are active frontend(s)
+
+#--exit-on-close
+# Exit vdr when local frontend window is closed
+
+#--config=file
+# Use xine-lib config file
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..7257fcc1dfdd
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,83 @@
+# This PKGBUILD is part of the VDR4Arch project [https://github.com/vdr4arch]
+
+# Maintainer: Christopher Reimer <mail+vdr4arch[at]c-reimer[dot]de>
+pkgbase=xineliboutput
+pkgname=(vdr-xineliboutput xineliboutput-frontends xineliboutput-xineplug)
+pkgver=1.1.0.32.gbf166be
+_gitver=bf166be4a21c0a86f6852c4695dcdb06863f4e93
+_vdrapi=2.2.0
+pkgrel=9
+url="http://www.sourceforge.net/projects/xineliboutput"
+arch=('x86_64' 'i686' 'arm' 'armv6h' 'armv7h')
+license=('GPL2')
+makedepends=('dbus-glib' 'git' 'glu' 'libcec' 'libextractor' 'libxrandr' 'mesa' "vdr-api=${_vdrapi}" 'xine-lib')
+_plugname=$(echo $pkgbase | sed 's/vdr-//g')
+source=("git://projects.vdr-developer.org/$_plugname.git#commit=$_gitver"
+ 'xineliboutput-vdr2.1.6compat.diff'
+ 'xineliboutput_renamed_iDoubleTapTimeoutMs_in_libcec.diff'
+ 'xineliboutput-vdr2.1.10compat.diff'
+ "50-$_plugname.conf")
+md5sums=('SKIP'
+ '14ef92cd38503a2f426669aa43b0aeb4'
+ 'd9e14cb60e536109716ebc886f54880b'
+ 'de80424deabba49e3f40c2f92f640765'
+ 'a9a3cd09b950d2024b21a1c6e0620506')
+
+pkgver() {
+ cd "${srcdir}/${_plugname}"
+ git describe --tags | sed "s/$_plugname.//g;s/_/./g;s/-/./g"
+}
+
+prepare() {
+ cd "${srcdir}/${_plugname}"
+ patch -p1 -i "$srcdir/xineliboutput-vdr2.1.6compat.diff"
+ patch -p1 -i "$srcdir/xineliboutput_renamed_iDoubleTapTimeoutMs_in_libcec.diff"
+ patch -p1 -i "$srcdir/xineliboutput-vdr2.1.10compat.diff"
+}
+
+build() {
+ cd "${srcdir}/${_plugname}"
+ make
+}
+
+package_vdr-xineliboutput() {
+ pkgdesc="X11 and Linux framebuffer front-end for VDR"
+ depends=('dbus-glib' 'libextractor' 'libxrandr' 'mesa' "vdr-api=${_vdrapi}" 'xine-lib' 'xineliboutput-xineplug')
+ optdepends=('nvidia: Required for VDPAU decoding'
+ 'xorg-server: Required for software decoding')
+ backup=("etc/vdr/conf.avail/50-$_plugname.conf"
+ "var/lib/vdr/plugins/$_plugname/allowed_hosts.conf")
+ cd "${srcdir}/${_plugname}"
+
+ mkdir -p "$pkgdir/usr/lib/vdr/plugins"
+ make DESTDIR="$pkgdir" install
+
+ rm -r "$pkgdir/usr/bin"
+ rm -r "$pkgdir/usr/lib/xine"
+ install -Dm644 examples/allowed_hosts.conf "$pkgdir/var/lib/vdr/plugins/$_plugname/allowed_hosts.conf"
+ install -Dm644 "$srcdir/50-$_plugname.conf" "$pkgdir/etc/vdr/conf.avail/50-$_plugname.conf"
+
+ chown -R 666:666 "$pkgdir/var/lib/vdr"
+}
+
+package_xineliboutput-frontends() {
+ pkgdesc="Xineliboutput frontends (vdr-fbfe and vdr-sxfe)"
+ depends=('dbus-glib' 'libcec' 'libxrandr' 'mesa' 'xine-lib' 'xineliboutput-xineplug')
+ optdepends=('nvidia: Required for VDPAU decoding'
+ 'xorg-server: Required for software decoding')
+ cd "${srcdir}/${_plugname}"
+
+ mkdir -p "$pkgdir/usr/lib/vdr/plugins"
+ make DESTDIR="$pkgdir" install
+ rm -r "$pkgdir/usr/lib" "$pkgdir/usr/share"
+}
+
+package_xineliboutput-xineplug() {
+ pkgdesc="Neccessary xine plugins for xineliboutput-frontends and vdr-xineliboutput"
+ depends=('xine-lib')
+ cd "${srcdir}/${_plugname}"
+
+ mkdir -p "$pkgdir/usr/lib/vdr/plugins"
+ make DESTDIR="$pkgdir" install
+ rm -r "$pkgdir/usr/bin" "$pkgdir/usr/lib/vdr" "$pkgdir/usr/share"
+}
diff --git a/xineliboutput-vdr2.1.10compat.diff b/xineliboutput-vdr2.1.10compat.diff
new file mode 100644
index 000000000000..3c6f8a61eeec
--- /dev/null
+++ b/xineliboutput-vdr2.1.10compat.diff
@@ -0,0 +1,19 @@
+diff --git a/osd.c b/osd.c
+index a6a4552..42b7d36 100644
+--- a/osd.c
++++ b/osd.c
+@@ -515,12 +515,12 @@ void cXinelibOsd::Flush(void)
+ if (IsTrueColor()) {
+
+ LOCK_PIXMAPS;
+- while (cPixmapMemory *pm = RenderPixmaps()) {
++ while (cPixmapMemory *pm = dynamic_cast<cPixmapMemory *>(RenderPixmaps())) {
+ int w = pm->ViewPort().Width();
+ int h = pm->ViewPort().Height();
+ int d = w * sizeof(tColor);
+ CmdArgb(Left() + pm->ViewPort().X(), Top() + pm->ViewPort().Y(), w, h, pm->Data(), h * d);
+- delete pm;
++ DestroyPixmap(pm);
+ }
+
+ return;
diff --git a/xineliboutput-vdr2.1.6compat.diff b/xineliboutput-vdr2.1.6compat.diff
new file mode 100644
index 000000000000..a8252c2ce553
--- /dev/null
+++ b/xineliboutput-vdr2.1.6compat.diff
@@ -0,0 +1,29 @@
+diff --git a/device.c b/device.c
+index 081fb64..ed1595b 100644
+--- a/device.c
++++ b/device.c
+@@ -1441,12 +1441,6 @@ void cXinelibDevice::SetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayForma
+ #endif
+ }
+
+-eVideoSystem cXinelibDevice::GetVideoSystem(void)
+-{
+- TRACEF("cXinelibDevice::GetVideoSystem");
+- return cDevice::GetVideoSystem();
+-}
+-
+ void cXinelibDevice::GetVideoSize(int &Width, int &Height, double &VideoAspect)
+ {
+ Width = m_VideoSize->width;
+diff --git a/device.h b/device.h
+index c86a99f..a01e017 100644
+--- a/device.h
++++ b/device.h
+@@ -123,7 +123,6 @@ class cXinelibDevice : public cDevice
+ public:
+ virtual void SetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat);
+ virtual void SetVideoFormat(bool VideoFormat16_9);
+- virtual eVideoSystem GetVideoSystem(void);
+
+ struct video_size_s *m_VideoSize;
+ struct ts_state_s *m_tssVideoSize;
diff --git a/xineliboutput_renamed_iDoubleTapTimeoutMs_in_libcec.diff b/xineliboutput_renamed_iDoubleTapTimeoutMs_in_libcec.diff
new file mode 100644
index 000000000000..fef0e5540a22
--- /dev/null
+++ b/xineliboutput_renamed_iDoubleTapTimeoutMs_in_libcec.diff
@@ -0,0 +1,13 @@
+diff --git a/xine_frontend_cec.c b/xine_frontend_cec.c
+index 02e44f0..461bc4f 100644
+--- a/xine_frontend_cec.c
++++ b/xine_frontend_cec.c
+@@ -272,7 +272,7 @@ static void libcec_config_clear(libcec_configuration *p)
+ p->bMonitorOnly = 0;
+ p->cecVersion = CEC_DEFAULT_SETTING_CEC_VERSION;
+ p->adapterType = ADAPTERTYPE_UNKNOWN;
+- p->iDoubleTapTimeoutMs = CEC_DOUBLE_TAP_TIMEOUT_MS;
++ p->iDoubleTapTimeout50Ms = CEC_DOUBLE_TAP_TIMEOUT_50_MS;
+ p->comboKey = CEC_USER_CONTROL_CODE_STOP;
+ p->iComboKeyTimeoutMs = CEC_DEFAULT_COMBO_TIMEOUT_MS;
+