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:
parent
396d80a6a1
commit
32777e78a4
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=271808
@ -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
|
||||
|
53
multimedia/vdr-plugin-streamdev/Makefile
Normal file
53
multimedia/vdr-plugin-streamdev/Makefile
Normal 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>
|
2
multimedia/vdr-plugin-streamdev/distinfo
Normal file
2
multimedia/vdr-plugin-streamdev/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (vdr/vdr-streamdev-0.5.1.tgz) = 254d1648251cd7265a905e6b7580c8a9f992a3225b4e4b4087582cb9c56e6763
|
||||
SIZE (vdr/vdr-streamdev-0.5.1.tgz) = 178999
|
10
multimedia/vdr-plugin-streamdev/files/patch-Makefile
Normal file
10
multimedia/vdr-plugin-streamdev/files/patch-Makefile
Normal 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)
|
14
multimedia/vdr-plugin-streamdev/files/patch-client-Makefile
Normal file
14
multimedia/vdr-plugin-streamdev/files/patch-client-Makefile
Normal 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)
|
10
multimedia/vdr-plugin-streamdev/files/patch-client-setup.c
Normal file
10
multimedia/vdr-plugin-streamdev/files/patch-client-setup.c
Normal 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"
|
14
multimedia/vdr-plugin-streamdev/files/patch-server-Makefile
Normal file
14
multimedia/vdr-plugin-streamdev/files/patch-server-Makefile
Normal 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* *~
|
@ -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"
|
@ -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>
|
||||
|
@ -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;
|
10
multimedia/vdr-plugin-streamdev/files/patch-server-setup.c
Normal file
10
multimedia/vdr-plugin-streamdev/files/patch-server-setup.c
Normal 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"
|
20
multimedia/vdr-plugin-streamdev/pkg-descr
Normal file
20
multimedia/vdr-plugin-streamdev/pkg-descr
Normal 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/
|
23
multimedia/vdr-plugin-streamdev/pkg-plist
Normal file
23
multimedia/vdr-plugin-streamdev/pkg-plist
Normal 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
|
Loading…
Reference in New Issue
Block a user