1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-30 10:38:37 +00:00
This PlugIn is a VDR implementation of the VTP (Video Transfer Protocol)
Version 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol.

It consists of a server and a client part, but both parts are compiled together
with the PlugIn source, but appear as separate PlugIns to VDR.

The client part acts as a full Input Device, so it can be used in conjunction
with a DXR3-Card, XINE, SoftDevice or others to act as a working VDR
installation without any DVB-Hardware including EPG-Handling.

The server part acts as a Receiver-Device and works transparently in the
background within your running VDR. It can serve multiple clients and it can
distribute multiple input streams (i.e. from multiple DVB-cards) to multiple
clients using the native VTP protocol (for VDR-clients), or using the HTTP
protocol supporting clients such as XINE, MPlayer and so on. With XMMS or
WinAMP, you can also listen to radio channels over a HTTP connection.

WWW: http://streamdev.vdr-developer.org/
This commit is contained in:
Juergen Lock 2011-03-26 19:20:47 +00:00
parent 396d80a6a1
commit 32777e78a4
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=271808
13 changed files with 213 additions and 0 deletions

View File

@ -345,6 +345,7 @@
SUBDIR += vdr-plugin-remote
SUBDIR += vdr-plugin-skinenigmang
SUBDIR += vdr-plugin-softdevice
SUBDIR += vdr-plugin-streamdev
SUBDIR += vic
SUBDIR += vlc
SUBDIR += vodcatcher

View File

@ -0,0 +1,53 @@
# New ports collection makefile for: vdr-plugin-streamdev
# Date created: Wed Apr 14 18:11:42 CEST 2010
# Whom: Juergen Lock <nox@freebsd.org>
#
# $FreeBSD$
#
PORTNAME= vdr-plugin-streamdev
PORTVERSION= 0.5.1
PORTREVISION= 2
CATEGORIES= multimedia
MASTER_SITES= http://projects.vdr-developer.org/attachments/download/497/:release \
LOCAL:snapshot
MASTER_SITE_SUBDIR= nox/:snapshot
DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release
MAINTAINER= nox@FreeBSD.org
COMMENT= Video Disk Recorder - stream device plugin
RUN_DEPENDS+= bash:${PORTSDIR}/shells/bash
EXTRACT_SUFX= .tgz
PORTDOCS= COPYING README
HAVE_CONFIGURE= yes
MAKE_JOBS_SAFE= yes
WRKSRC= ${WRKDIR}/${PLUGIN}-${PORTVERSION}
VDR_PLUGIN_MAKEFILES= ${WRKSRC}/client/Makefile \
${WRKSRC}/server/Makefile
.include "${.CURDIR}/../vdr/Makefile.plugins"
post-patch: post-patch-plugin
@${LN} -s ../locale ${WRKSRC}
@${REINPLACE_CMD} '1s-^#!/bin/sh-#!${LOCALBASE}/bin/bash-' \
${WRKSRC}/${PLUGIN}-server/externremux.sh
post-install: post-install-pluginlocales
@${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server
@${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}-server/externremux.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/externremux.sh.sample
@${INSTALL_DATA} ${WRKSRC}/${PLUGIN}-server/streamdevhosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/streamdevhosts.conf.sample
@if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/externremux.sh ]; then \
${INSTALL_SCRIPT} -o ${VDR_USER} -g ${VDR_GROUP} ${WRKSRC}/${PLUGIN}-server/externremux.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server; \
fi
@if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/streamdevhosts.conf ]; then \
${INSTALL_DATA} -o ${VDR_USER} -g ${VDR_GROUP} ${WRKSRC}/${PLUGIN}-server/streamdevhosts.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}-server; \
fi
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
(cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR})
.endif
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (vdr/vdr-streamdev-0.5.1.tgz) = 254d1648251cd7265a905e6b7580c8a9f992a3225b4e4b4087582cb9c56e6763
SIZE (vdr/vdr-streamdev-0.5.1.tgz) = 178999

View File

@ -0,0 +1,10 @@
--- Makefile.orig
+++ Makefile
@@ -106,3 +106,7 @@ clean:
$(MAKE) -C ./remux clean
$(MAKE) -C ./client clean
$(MAKE) -C ./server clean
+
+install:
+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN)-client.so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN)-client.so.$(APIVERSION)
+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN)-server.so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN)-server.so.$(APIVERSION)

View File

@ -0,0 +1,14 @@
--- client/Makefile.orig
+++ client/Makefile
@@ -70,7 +70,11 @@ libvdr-$(PLUGIN).so: $(CLIENTOBJS) $(COM
%.so:
$(CXX) $(CXXFLAGS) -shared $^ -o $@
+ifdef FREEBSD
+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
+else
@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+endif
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)

View File

@ -0,0 +1,10 @@
--- client/setup.c.orig
+++ client/setup.c
@@ -2,6 +2,7 @@
* $Id: setup.c,v 1.2 2005/02/08 15:34:38 lordjaxom Exp $
*/
+#include <stdint.h>
#include <vdr/menuitems.h>
#include "client/setup.h"

View File

@ -0,0 +1,14 @@
--- server/Makefile.orig
+++ server/Makefile
@@ -76,7 +76,11 @@ libvdr-$(PLUGIN).so: $(SERVEROBJS) $(COM
%.so:
$(CXX) $(CXXFLAGS) -shared $^ -o $@
+ifdef FREEBSD
+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
+else
@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+endif
clean:
@-rm -f $(COMMONOBJS) $(SERVEROBJS) $(DEPFILE) $(PODIR)/*.mo $(PODIR)/*.pot *.so *.tgz core* *~

View File

@ -0,0 +1,28 @@
--- server/componentIGMP.c.orig
+++ server/componentIGMP.c
@@ -1,9 +1,24 @@
/*
* $Id: componentIGMP.c,v 1.2 2009/07/03 21:44:19 schmirl Exp $
*/
+#include <sys/types.h>
+#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/igmp.h>
-
+
+#ifndef IGMP_MEMBERSHIP_QUERY
+#define IGMP_MEMBERSHIP_QUERY IGMP_HOST_MEMBERSHIP_QUERY
+#endif
+#ifndef IGMP_V1_MEMBERSHIP_REPORT
+#define IGMP_V1_MEMBERSHIP_REPORT IGMP_v1_HOST_MEMBERSHIP_REPORT
+#endif
+#ifndef IGMP_V2_MEMBERSHIP_REPORT
+#define IGMP_V2_MEMBERSHIP_REPORT IGMP_v2_HOST_MEMBERSHIP_REPORT
+#endif
+#ifndef IGMP_V2_LEAVE_GROUP
+#define IGMP_V2_LEAVE_GROUP IGMP_HOST_LEAVE_MESSAGE
+#endif
+
#include "server/componentIGMP.h"
#include "server/connectionIGMP.h"
#include "server/setup.h"

View File

@ -0,0 +1,15 @@
--- server/livestreamer.c.orig
+++ server/livestreamer.c
@@ -1,7 +1,12 @@
#include <assert.h>
+#ifdef __FreeBSD__
+#include <vdr/libsi/section.h>
+#include <vdr/libsi/descriptor.h>
+#else
#include <libsi/section.h>
#include <libsi/descriptor.h>
+#endif
#include <vdr/ringbuffer.h>

View File

@ -0,0 +1,13 @@
--- server/recplayer.c.orig
+++ server/recplayer.c
@@ -196,8 +196,10 @@ unsigned long RecPlayer::getBlock(unsign
fseek(file, filePosition, SEEK_SET);
if (fread(&buffer[got], getFromThisSegment, 1, file) != 1) return 0; // umm, big problem.
+#ifdef __linux__
// Tell linux not to bother keeping the data in the FS cache
posix_fadvise(file->_fileno, filePosition, getFromThisSegment, POSIX_FADV_DONTNEED);
+#endif
got += getFromThisSegment;
currentPosition += getFromThisSegment;

View File

@ -0,0 +1,10 @@
--- server/setup.c.orig
+++ server/setup.c
@@ -2,6 +2,7 @@
* $Id: setup.c,v 1.2 2005/05/09 20:22:29 lordjaxom Exp $
*/
+#include <stdint.h>
#include <vdr/menuitems.h>
#include "server/setup.h"

View File

@ -0,0 +1,20 @@
http://www.linuxtv.org/vdrwiki/index.php/Streamdev-plugin
This PlugIn is a VDR implementation of the VTP (Video Transfer Protocol)
Version 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol.
It consists of a server and a client part, but both parts are compiled together
with the PlugIn source, but appear as separate PlugIns to VDR.
The client part acts as a full Input Device, so it can be used in conjunction
with a DXR3-Card, XINE, SoftDevice or others to act as a working VDR
installation without any DVB-Hardware including EPG-Handling.
The server part acts as a Receiver-Device and works transparently in the
background within your running VDR. It can serve multiple clients and it can
distribute multiple input streams (i.e. from multiple DVB-cards) to multiple
clients using the native VTP protocol (for VDR-clients), or using the HTTP
protocol supporting clients such as XINE, MPlayer and so on. With XMMS or
WinAMP, you can also listen to radio channels over a HTTP connection.
WWW: http://streamdev.vdr-developer.org/

View File

@ -0,0 +1,23 @@
lib/vdr/libvdr-streamdev-client.so.1.7.17
lib/vdr/libvdr-streamdev-server.so.1.7.17
@unexec if cmp -s %D/etc/vdr/plugins/streamdev-server/externremux.sh.sample %D/etc/vdr/plugins/streamdev-server/externremux.sh; then rm -f %D/etc/vdr/plugins/streamdev-server/externremux.sh; fi
etc/vdr/plugins/streamdev-server/externremux.sh.sample
@exec if [ ! -f %D/etc/vdr/plugins/streamdev-server/externremux.sh ] ; then cp -p %D/%F %B/externremux.sh; fi
@unexec if cmp -s %D/etc/vdr/plugins/streamdev-server/streamdevhosts.conf.sample %D/etc/vdr/plugins/streamdev-server/streamdevhosts.conf; then rm -f %D/etc/vdr/plugins/streamdev-server/streamdevhosts.conf; fi
etc/vdr/plugins/streamdev-server/streamdevhosts.conf.sample
@exec if [ ! -f %D/etc/vdr/plugins/streamdev-server/streamdevhosts.conf ] ; then cp -p %D/%F %B/streamdevhosts.conf; fi
@dirrmtry etc/vdr/plugins/streamdev-server
%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-streamdev-client.mo
%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-streamdev-server.mo
%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-streamdev-client.mo
%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-streamdev-server.mo
%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-streamdev-client.mo
%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-streamdev-server.mo
%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-streamdev-client.mo
%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-streamdev-server.mo
%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-streamdev-client.mo
%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-streamdev-server.mo
%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-streamdev-client.mo
%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-streamdev-server.mo
%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-streamdev-client.mo
%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-streamdev-server.mo