This is a PVR add-on for XBMC to add VDR (http://www.cadsoft.de/vdr)

as a TV/PVR Backend to XBMC.

It adds support for Live TV watching, replaying of Recordings,
programming Timers and EPG TV Guide to use on same computer or over
the Network.

This add-on requires the installed "vdr-plugin-xvdr" plugin on the
VDR server.  VDR itself doen't need any patches or modification to
use all the current features.

WWW: https://github.com/pipelka/xbmc-addon-xvdr
This commit is contained in:
Juergen Lock 2011-12-18 18:38:56 +00:00
parent c1ef0b9cb3
commit 6e8546ac15
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=287607
12 changed files with 250 additions and 0 deletions

View file

@ -367,6 +367,7 @@
SUBDIR += xanim
SUBDIR += xawtv
SUBDIR += xbmc
SUBDIR += xbmc-addon-xvdr
SUBDIR += xbmc-pvr
SUBDIR += xfce4-media
SUBDIR += xfce4-parole

View file

@ -0,0 +1,33 @@
# New ports collection makefile for: xbmc-addon-xvdr
# Date created: Sat Oct 8 16:27:14 CEST 2011
# Whom: Juergen Lock <nox@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= xbmc-addon-xvdr
PORTVERSION= 0.9.5
CATEGORIES= multimedia
MASTER_SITES= LOCAL/nox
DISTNAME= pipelka-${PORTNAME}-xvdr-${PORTVERSION}-0-g${GITHASH}
MAINTAINER= nox@FreeBSD.org
COMMENT= XBMC xvdr pvr addon
BUILD_DEPENDS+= xbmc:${PORTSDIR}/multimedia/xbmc-pvr
RUN_DEPENDS+= xbmc:${PORTSDIR}/multimedia/xbmc-pvr
GITHASH= 9d3d6ea
WRKSRC= ${WRKDIR}/pipelka-${PORTNAME}-${GITHASH}
PATCH_STRIP= -p1
USE_AUTOTOOLS= libtoolize aclocal libtool automake autoconf
MAKE_JOBS_SAFE= yes
ACLOCAL_ARGS= -I.
AUTOMAKE_ARGS= --add-missing
GNU_CONFIGURE_PREFIX= ${PREFIX}/share/xbmc
CONFLICTS= xbmc-[0-9]*
post-patch:
(cd ${WRKSRC} && ${TOUCH} ./NEWS ./AUTHORS ./ChangeLog)
.include <bsd.port.mk>

View file

@ -0,0 +1,2 @@
SHA256 (pipelka-xbmc-addon-xvdr-xvdr-0.9.5-0-g9d3d6ea.tar.gz) = 04ff1893d1cf07a48e7aa5b983b3c4e0f59247e93eb6f14566d742467233acf6
SIZE (pipelka-xbmc-addon-xvdr-xvdr-0.9.5-0-g9d3d6ea.tar.gz) = 117836

View file

@ -0,0 +1,34 @@
--- a/addons/library.xbmc.addon/libXBMC_addon.h
+++ b/addons/library.xbmc.addon/libXBMC_addon.h
@@ -40,15 +40,31 @@
#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-x86-osx.so"
#endif
#elif defined(__x86_64__)
+#ifdef __FreeBSD__
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-x86_64-freebsd.so"
+#else
#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-x86_64-linux.so"
+#endif
#elif defined(_POWERPC)
+#ifdef __FreeBSD__
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-powerpc-freebsd.so"
+#else
#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-powerpc-linux.so"
+#endif
#elif defined(_POWERPC64)
+#ifdef __FreeBSD__
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-powerpc64-freebsd.so"
+#else
#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-powerpc64-linux.so"
+#endif
#elif defined(_ARMEL)
#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-arm.so"
#else /* !__x86_64__ && !__powerpc__ */
+#ifdef __FreeBSD__
+#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-i386-freebsd.so"
+#else
#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-i486-linux.so"
+#endif
#endif /* __x86_64__ */
#endif /* _LINUX */

View file

@ -0,0 +1,32 @@
--- a/addons/library.xbmc.gui/libXBMC_gui.h
+++ b/addons/library.xbmc.gui/libXBMC_gui.h
@@ -44,13 +44,29 @@ typedef void* GUIHANDLE;
#elif defined(_ARMEL)
#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-arm.so"
#elif defined(__x86_64__)
+#ifdef __FreeBSD__
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-x86_64-freebsd.so"
+#else
#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-x86_64-linux.so"
+#endif
#elif defined(_POWERPC)
+#ifdef __FreeBSD__
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-powerpc-freebsd.so"
+#else
#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-powerpc-linux.so"
+#endif
#elif defined(_POWERPC64)
+#ifdef __FreeBSD__
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-powerpc64-freebsd.so"
+#else
#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-powerpc64-linux.so"
+#endif
#else /* !__x86_64__ && !__powerpc__ && !_ARMEL */
+#ifdef __FreeBSD__
+#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-i386-freebsd.so"
+#else
#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-i486-linux.so"
+#endif
#endif /* __x86_64__ */
#endif /* _LINUX */

View file

@ -0,0 +1,34 @@
--- a/addons/library.xbmc.pvr/libXBMC_pvr.h
+++ b/addons/library.xbmc.pvr/libXBMC_pvr.h
@@ -41,15 +41,31 @@
#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-x86-osx.so"
#endif
#elif defined(__x86_64__)
+#ifdef __FreeBSD__
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-x86_64-freebsd.so"
+#else
#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-x86_64-linux.so"
+#endif
#elif defined(_POWERPC)
+#ifdef __FreeBSD__
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-powerpc-freebsd.so"
+#else
#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-powerpc-linux.so"
+#endif
#elif defined(_POWERPC64)
+#ifdef __FreeBSD__
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-powerpc64-freebsd.so"
+#else
#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-powerpc64-linux.so"
+#endif
#elif defined(_ARMEL)
#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-arm.so"
#else /* !__x86_64__ && !__powerpc__ */
+#ifdef __FreeBSD__
+#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-i386-freebsd.so"
+#else
#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-i486-linux.so"
+#endif
#endif /* __x86_64__ */
#endif /* _LINUX */

View file

@ -0,0 +1,11 @@
--- a/src/libPlatform/linux/os_posix.h
+++ b/src/libPlatform/linux/os_posix.h
@@ -32,7 +32,7 @@
#include <sys/timeb.h>
#include <sys/resource.h>
#include <sys/syscall.h>
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
#include <sys/prctl.h>
#endif
#include <pthread.h>

View file

@ -0,0 +1,11 @@
--- a/src/xvdr/Makefile.am
+++ b/src/xvdr/Makefile.am
@@ -5,7 +5,7 @@
# how to reach the author.
#
-LIBS =-ldl
+#LIBS =-ldl
LIBDIR = ../../addons/pvr.vdr.xvdr
LIB = ../../addons/pvr.vdr.xvdr/XBMC_VDR_xvdr.pvr

View file

@ -0,0 +1,38 @@
--- a/src/xvdr/thread.cpp
+++ b/src/xvdr/thread.cpp
@@ -29,10 +29,14 @@
#include "thread.h"
#include "client.h"
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
#include <malloc.h>
#endif
+#if defined(__FreeBSD__)
+#include <signal.h>
+#endif
+
#if !defined(__WINDOWS__)
#include <sys/signal.h>
#endif
@@ -163,7 +167,7 @@ cMutex::cMutex(void)
locked = 0;
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP);
#else
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK);
@@ -349,8 +353,8 @@ void cThread::Cancel(int WaitSeconds)
tThreadId cThread::ThreadId(void)
{
-#ifdef __APPLE__
- return (int)pthread_self();
+#if defined(__APPLE__) || defined(__FreeBSD__)
+ return (tThreadId)pthread_self();
#else
#ifdef __WINDOWS__
return GetCurrentThreadId();

View file

@ -0,0 +1,23 @@
--- a/src/xvdr/thread.h
+++ b/src/xvdr/thread.h
@@ -77,7 +77,11 @@ public:
void Unlock(void);
};
+#ifdef __FreeBSD__
+typedef pthread_t tThreadId;
+#else
typedef pid_t tThreadId;
+#endif
class cThread {
friend class cThreadLock;
@@ -124,7 +128,7 @@ public:
bool Active(void);
///< Checks whether the thread is still alive.
static tThreadId ThreadId(void);
- static tThreadId IsMainThread(void) { return ThreadId() == mainThreadId; }
+ static int IsMainThread(void) { return ThreadId() == mainThreadId; }
static void SetMainThreadId(void);
};

View file

@ -0,0 +1,12 @@
This is a PVR add-on for XBMC to add VDR (http://www.cadsoft.de/vdr)
as a TV/PVR Backend to XBMC.
It adds support for Live TV watching, replaying of Recordings,
programming Timers and EPG TV Guide to use on same computer or over
the Network.
This add-on requires the installed "vdr-plugin-xvdr" plugin on the
VDR server. VDR itself doen't need any patches or modification to
use all the current features.
WWW: https://github.com/pipelka/xbmc-addon-xvdr

View file

@ -0,0 +1,19 @@
share/xbmc/addons/pvr.vdr.xvdr/XBMC_VDR_xvdr.pvr
share/xbmc/addons/pvr.vdr.xvdr/addon.xml
share/xbmc/addons/pvr.vdr.xvdr/icon.png
share/xbmc/addons/pvr.vdr.xvdr/resources/language/Dutch/strings.xml
share/xbmc/addons/pvr.vdr.xvdr/resources/language/English/strings.xml
share/xbmc/addons/pvr.vdr.xvdr/resources/language/Finnish/strings.xml
share/xbmc/addons/pvr.vdr.xvdr/resources/language/German/strings.xml
share/xbmc/addons/pvr.vdr.xvdr/resources/settings.xml
share/xbmc/addons/pvr.vdr.xvdr/resources/skins/Confluence/720p/ChannelScan.xml
@dirrm share/xbmc/addons/pvr.vdr.xvdr/resources/skins/Confluence/720p
@dirrm share/xbmc/addons/pvr.vdr.xvdr/resources/skins/Confluence
@dirrm share/xbmc/addons/pvr.vdr.xvdr/resources/skins
@dirrm share/xbmc/addons/pvr.vdr.xvdr/resources/language/German
@dirrm share/xbmc/addons/pvr.vdr.xvdr/resources/language/Finnish
@dirrm share/xbmc/addons/pvr.vdr.xvdr/resources/language/English
@dirrm share/xbmc/addons/pvr.vdr.xvdr/resources/language/Dutch
@dirrm share/xbmc/addons/pvr.vdr.xvdr/resources/language
@dirrm share/xbmc/addons/pvr.vdr.xvdr/resources
@dirrm share/xbmc/addons/pvr.vdr.xvdr