-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add in satip-0.1.1 for older versions of reelvdr
- Loading branch information
root
committed
Feb 5, 2016
1 parent
0e1be99
commit 2d3f4ad
Showing
30 changed files
with
5,011 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
=================================== | ||
VDR Plugin 'satip' Revision History | ||
=================================== | ||
|
||
2014-03-08: Version 0.0.1 | ||
|
||
- Initial revision. | ||
- Added German translation (Thanks to Frank Neumann). | ||
|
||
2014-03-15: Version 0.1.0 | ||
|
||
- Switched to the standard S/T/C source identifiers. | ||
- Added a new operation mode setup parameter. | ||
- Added new SVDRP commands. | ||
|
||
2014-03-16: Version 0.1.1 | ||
|
||
- Changed code to utilize a proper XML library. | ||
- Refactored the session code. | ||
- Fixed EIT scan functionality. | ||
- Updated for vdr-2.1.6. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
# | ||
# Makefile for SAT>IP plugin | ||
# | ||
|
||
# Debugging on/off | ||
|
||
#SATIP_DEBUG = 1 | ||
|
||
# Use TinyXML instead of PugiXML | ||
|
||
SATIP_USE_TINYXML = 1 | ||
|
||
# Strip debug symbols? Set eg. to /bin/true if not | ||
|
||
STRIP = strip | ||
|
||
# The official name of this plugin. | ||
# This name will be used in the '-P...' option of VDR to load the plugin. | ||
# By default the main source file also carries this name. | ||
|
||
PLUGIN = satip | ||
|
||
### The version number of this plugin (taken from the main source file): | ||
|
||
VERSION = $(shell grep 'const char VERSION\[\] *=' $(PLUGIN).c | awk '{ print $$5 }' | sed -e 's/[";]//g') | ||
GITTAG = $(shell git describe --always 2>/dev/null) | ||
|
||
VDRDIR = ../../.. | ||
### The directory environment: | ||
|
||
# Use package data if installed...otherwise assume we're under the VDR source directory: | ||
PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr)) | ||
LIBDIR = $(call PKGCFG,libdir) | ||
LOCDIR = $(call PKGCFG,locdir) | ||
PLGCFG = $(call PKGCFG,plgcfg) | ||
CFGDIR = $(call PKGCFG,configdir) | ||
# | ||
TMPDIR ?= /tmp | ||
|
||
### The compiler options: | ||
|
||
export CFLAGS = $(call PKGCFG,cflags) | ||
export CXXFLAGS = $(call PKGCFG,cxxflags) -I../../../vdr-1.7/include/ | ||
|
||
### The version number of VDR's plugin API: | ||
|
||
APIVERSION = $(call PKGCFG,apiversion) | ||
|
||
### Make sure that necessary options are included: | ||
|
||
-include $(VDRDIR)/Make.global | ||
|
||
### Allow user defined options to overwrite defaults: | ||
|
||
-include $(VDRDIR)/Make.config | ||
CXXFLAGS += -I../../../vdr-1.7/include/ | ||
|
||
### Allow user defined options to overwrite defaults: | ||
|
||
-include $(PLGCFG) | ||
|
||
### The name of the distribution archive: | ||
|
||
ARCHIVE = $(PLUGIN)-$(VERSION) | ||
PACKAGE = vdr-$(ARCHIVE) | ||
|
||
### The name of the shared object file: | ||
|
||
SOFILE = libvdr-$(PLUGIN).so | ||
|
||
### Libraries | ||
|
||
LIBS = $(shell /usr/arm-linux-gnueabi/bin/curl-config --libs) | ||
|
||
### Includes and Defines (add further entries here): | ||
|
||
INCLUDES += | ||
|
||
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' | ||
|
||
ifdef SATIP_USE_TINYXML | ||
DEFINES += -DUSE_TINYXML | ||
#LIBS += -ltinyxml | ||
else | ||
LIBS += -lpugixml | ||
endif | ||
|
||
ifdef SATIP_DEBUG | ||
DEFINES += -DDEBUG | ||
endif | ||
|
||
ifneq ($(strip $(GITTAG)),) | ||
DEFINES += -DGITVERSION='"-GIT-$(GITTAG)"' | ||
endif | ||
|
||
.PHONY: all all-redirect | ||
all-redirect: all | ||
|
||
### The object files (add further files here): | ||
|
||
OBJS = $(PLUGIN).o common.o config.o device.o discover.o param.o \ | ||
sectionfilter.o server.o setup.o socket.o statistics.o tuner.o | ||
|
||
### The main target: | ||
|
||
all: $(SOFILE) i18n | ||
|
||
### Implicit rules: | ||
|
||
%.o: %.c | ||
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< | ||
%.i: %.c | ||
$(CXX) $(CXXFLAGS) -E $(DEFINES) $(INCLUDES) -o $@ $< | ||
|
||
### Dependencies: | ||
|
||
MAKEDEP = $(CXX) -MM -MG | ||
DEPFILE = .dependencies | ||
$(DEPFILE): Makefile | ||
@$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ | ||
|
||
-include $(DEPFILE) | ||
|
||
### Internationalization (I18N): | ||
|
||
PODIR = po | ||
I18Npo = $(wildcard $(PODIR)/*.po) | ||
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) | ||
I18Nmsgs = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) | ||
I18Npot = $(PODIR)/$(PLUGIN).pot | ||
|
||
%.mo: %.po | ||
msgfmt -c -o $@ $< | ||
|
||
$(I18Npot): $(wildcard *.c) | ||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^` | ||
|
||
%.po: $(I18Npot) | ||
msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< | ||
@touch $@ | ||
|
||
$(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo | ||
install -D -m644 $< $@ | ||
|
||
.PHONY: i18n | ||
i18n: $(I18Nmo) $(I18Npot) | ||
|
||
install-i18n: $(I18Nmsgs) | ||
|
||
### Targets: | ||
|
||
$(SOFILE): $(OBJS) | ||
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@ | ||
ifndef SATIP_DEBUG | ||
@$(STRIP) $@ | ||
endif | ||
|
||
install-lib: $(SOFILE) | ||
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) | ||
|
||
install-conf: | ||
@mkdir -p $(DESTDIR)$(CFGDIR)/plugins/$(PLUGIN) | ||
|
||
install: install-lib install-i18n install-conf | ||
|
||
dist: $(I18Npo) clean | ||
@-rm -rf $(TMPDIR)/$(ARCHIVE) | ||
@mkdir $(TMPDIR)/$(ARCHIVE) | ||
@cp -a * $(TMPDIR)/$(ARCHIVE) | ||
@tar czf $(PACKAGE).tgz -C $(TMPDIR) $(ARCHIVE) | ||
@-rm -rf $(TMPDIR)/$(ARCHIVE) | ||
@echo Distribution package created as $(PACKAGE).tgz | ||
|
||
clean: | ||
@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot | ||
@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ | ||
|
||
.PHONY: cppcheck | ||
cppcheck: | ||
@cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
This is an SAT>IP plugin for the Video Disk Recorder (VDR). | ||
|
||
Written by: Rolf Ahrenberg | ||
< R o l f . A h r e n b e r g @ s c i . f i > | ||
|
||
Project's homepage: http://www.saunalahti.fi/~rahrenbe/vdr/satip/ | ||
|
||
Latest version available at: http://www.saunalahti.fi/~rahrenbe/vdr/satip/ | ||
|
||
This program is free software; you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License version 2 as | ||
published by the Free Software Foundation. | ||
See the file COPYING for more information. | ||
|
||
Requirements: | ||
|
||
- Libcurl - the multiprotocol file transfer library with RTSP support | ||
http://curl.haxx.se/libcurl/ | ||
|
||
- PugiXML - Light-weight, simple and fast XML parser for C++ | ||
http://pugixml.org/ | ||
or | ||
TinyXML - a simple, small, C++ XML parser | ||
http://www.grinninglizard.com/tinyxml/ | ||
|
||
- VDR-2.1.4+ for scrambled channels | ||
|
||
Description: | ||
|
||
This plugin integrates SAT>IP network devices seamlessly into VDR. | ||
You can use any SAT>IP channel like any other normal DVB channel for | ||
live viewing, recording, etc. The plugin also features full section | ||
filtering capabilities which allow for example EIT information to be | ||
extracted from the incoming stream. | ||
|
||
Installation: | ||
|
||
tar -xzf /put/your/path/here/vdr-satip-X.Y.Z.tgz | ||
make -C satip-X.Y.Z install | ||
|
||
Configuration: | ||
|
||
The plugin accepts a "--devices" (-d) command-line parameter defaulting | ||
to one. This parameter defines how many simultaneous transponders can | ||
be received, if there are available SAT>IP tuners. | ||
|
||
SAT>IP satellite positions (aka. signal sources) shall be defined via | ||
sources.conf. If the source description begins with a number, it's used | ||
as SAT>IP signal source selection parameter. Otherwise, the default | ||
parameter is one: | ||
|
||
S19.2E Astra 1KR/1L/1M/2C | ||
=> Signal source = 1 | ||
|
||
S19.2E 2 | ||
=> Signal source = 2 | ||
|
||
S19.2E 3 Astra 1KR/1L/1M/2C | ||
=> Signal source = 3 | ||
|
||
Setup menu: | ||
|
||
- Operating mode = off If you want exclude all SAT>IP devices | ||
low from VDR's device handling, set this | ||
normal option to "off". Otherwise, if you want | ||
high to keep SAT>IP at a low priority when | ||
selecting available devices, set this | ||
option to "low". Similarly, the "high" | ||
value prefers the SAT>IP over the local | ||
DVB cards when selecting available devices. | ||
- Enable EPG scanning = yes If you want exclude all SAT>IP devices | ||
from VDR's EIT background scanning, set | ||
this option to "no". | ||
- Disabled filters = none Certain section filters might cause some | ||
unwanted behaviour to VDR such as time | ||
being falsely synchronized etc. This option | ||
allows creation of blacklists of ill-behaving | ||
filters. If this option is set to a non-zero | ||
value, the menu page will contain that many | ||
"Disable filter" options which allow you | ||
to disable the individual section filters. | ||
Valid range: "none" = 0 ... 7 | ||
- [Red:Scan] Forces network scanning of SAT>IP hardware. | ||
- [Blue:Info] Opens SAT>IP information/statistics menu. | ||
- [Ok] Opens information menu of selected SAT>IP | ||
device. | ||
|
||
Information menu: | ||
|
||
- [Red:General] Opens the general information page. | ||
- [Green:Pids] Opens the pid statistics page. | ||
- [Yellow:Filters] Opens the section filter statistics page. | ||
- [Blue:Bits/bytes] Toggles between bits and bytes mode. | ||
|
||
Notes: | ||
|
||
- The stream id "-1" states about unsuccessful tuning. This might be a | ||
result of invalid channel parameters or lack of free SAT>IP tuners. | ||
|
||
- SAT>IP specification 1.2 doesn't support DVB-C/DVB-C2 receivers yet, | ||
but DVB-C (KABEL>IP) is supported for Digital Devices Octopus Net | ||
devices. | ||
|
||
- If the plugin doesn't detect your SAT>IP network device, make sure | ||
your setup doesn't have firewalled the UDP port 1900. | ||
|
||
- Stream decryption requires a separate CAM plugin that works without | ||
direct access to any DVB card devices. The integrated CAM slot in | ||
Octopus Net devices isn't supported. | ||
|
||
- The 100% compliance against SAT>IP specification 1.2 requires a | ||
patched VDR providing channel configuration for pilot, T2 system id, | ||
and SISO/MISO values. | ||
|
||
Acknowledgements: | ||
|
||
- Big thanks to Digital Devices GmbH for providing the Octopus Net | ||
hardware for development! |
Oops, something went wrong.