summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de>2012-12-30 12:52:00 +0100
committerDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2012-12-31 16:01:02 +0100
commit873ab00a77bc947444804e5bd622bd80014978a2 (patch)
tree800fe23e07e6c49d526853efcda32828218aaa14
parent15485a5e06121f644b9eb9cc228ce3c77b22330d (diff)
downloadvdr-patches-873ab00a77bc947444804e5bd622bd80014978a2.tar.gz
vdr-patches-873ab00a77bc947444804e5bd622bd80014978a2.tar.bz2
Version 1.7.35
VDR developer version 1.7.35 is now available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.35.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.34-1.7.35.diff MD5 checksums: 3b9d0376325370afb464b6c5843591c7 vdr-1.7.35.tar.bz2 4b6fb681359325ad33a466503503e772 vdr-1.7.34-1.7.35.diff WARNING: ======== This is a developer version. Even though I use it in my productive environment. I strongly recommend that you only use it under controlled conditions and for testing and debugging. From the HISTORY file: - Changed the type of the TimerMatch parameter in cSkinDisplayMenu::SetItemEvent() from 'int' to 'eTimerEvent' (reported by Christoph Haubrich). - Updated the Estonian OSD texts (thanks to Arthur Konovalov). - Fixed cOsd::GetBitmap() to always return NULL if a non-exising area is requested. - Added several missing "`ls $^`" in the calls to xgettext in plugin Makefiles and the "newplugin" script. - Fixed setting the --package-name and --package-version options in the calls to xgettext in several plugin Makefiles. - Added "-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" to the DEFINES in the Makefile (somehow got lost from Make.config.template in version 1.7.13). - Removed some redundancy in the Makefile/Make.global/Make.config mechanism (suggested by Christopher Reimer). The file Make.global is no longer used, and plugin Makefiles don't include the file Make.config any more. Instead they now retrieve all necessary information through calls to pkg-config. - The plugin Makefiles now have a separate 'install' target (suggested by Christopher Reimer). In order to still allow the normal building of VDR (with all plugins in its ./PLUGINS/src subdirectory, the plugin libraries in ./PLUGINS/lib and the i18n files in ./locale) the VDR Makefile checks the settings of LIBDIR and LOCDIR when building the plugins from within the VDR source directory. If these macros have their default values, then the 'install' targets of the plugins' Makefiles are called. Otherwise the 'all' targets are called and the plugins are merely built, and will have to be installed by a call to 'make install-plugins'. This now also allows a user to copy a plugin source to any directory, change into that directory and do 'make' and 'make install' to have the plugin installed to wherever the local installation of VDR expects them. - Plugin Makefiles now use DESTDIR and the 'install' program (thanks to Christopher Reimer). - Due to the changes to the plugin Makefiles, existing plugins will not build with this version of VDR any more. You can either use the new 'newplugin' script to generate a dummy plugin directory and use the Makefile from there (adapting it to your particular plugin), or apply the patch from ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.33-pluginmakefile.diff to your Makefile to make the necessary changes (see comments in that file for details). - Added the new menu categories mcChannelEdit, mcTimerEdit, mcScheduleNow, mcScheduleNext, mcRecordingInfo, mcPluginSetup, mcSetupOsd, mcSetupEpg, mcSetupDvb, mcSetupLnb, mcSetupCam, mcSetupRecord, mcSetupReplay, mcSetupMisc and mcSetupPlugins. - Updated the Italian OSD texts (thanks to Diego Pierotto). - Fixed replay stuttering close to the end of an ongoing recording (reported by Andreas Regel). - Fixed cIndexFile::GetNextIFrame() to properly handle the case where the very last frame is an I-frame (which normally shouldn't occur). - Fixed replaying ongoing recordings from other VDR instances.
-rw-r--r--CONTRIBUTORS10
-rw-r--r--HISTORY34
-rw-r--r--Make.config.template14
-rw-r--r--Make.global10
-rw-r--r--Makefile47
-rw-r--r--PLUGINS/src/dvbhddevice/HISTORY4
-rw-r--r--PLUGINS/src/dvbhddevice/Makefile7
-rw-r--r--PLUGINS/src/dvbhddevice/dvbhddevice.c4
-rw-r--r--PLUGINS/src/dvbhddevice/dvbhdffdevice.c217
-rw-r--r--PLUGINS/src/dvbsddevice/HISTORY6
-rw-r--r--PLUGINS/src/dvbsddevice/Makefile7
-rw-r--r--PLUGINS/src/dvbsddevice/dvbsddevice.c4
-rw-r--r--PLUGINS/src/epgtableid0/HISTORY4
-rw-r--r--PLUGINS/src/epgtableid0/Makefile7
-rw-r--r--PLUGINS/src/epgtableid0/epgtableid0.c4
-rw-r--r--PLUGINS/src/hello/HISTORY4
-rw-r--r--PLUGINS/src/hello/Makefile7
-rw-r--r--PLUGINS/src/hello/hello.c4
-rw-r--r--PLUGINS/src/osddemo/HISTORY4
-rw-r--r--PLUGINS/src/osddemo/Makefile7
-rw-r--r--PLUGINS/src/osddemo/osddemo.c4
-rw-r--r--PLUGINS/src/pictures/HISTORY6
-rw-r--r--PLUGINS/src/pictures/Makefile7
-rw-r--r--PLUGINS/src/pictures/pictures.c4
-rw-r--r--PLUGINS/src/rcu/HISTORY4
-rw-r--r--PLUGINS/src/rcu/Makefile7
-rw-r--r--PLUGINS/src/rcu/rcu.c4
-rw-r--r--PLUGINS/src/servicedemo/HISTORY4
-rw-r--r--PLUGINS/src/servicedemo/Makefile11
-rw-r--r--PLUGINS/src/servicedemo/svccli.c4
-rw-r--r--PLUGINS/src/servicedemo/svcsvr.c4
-rw-r--r--PLUGINS/src/skincurses/HISTORY4
-rw-r--r--PLUGINS/src/skincurses/Makefile7
-rw-r--r--PLUGINS/src/skincurses/skincurses.c4
-rw-r--r--PLUGINS/src/status/HISTORY4
-rw-r--r--PLUGINS/src/status/Makefile7
-rw-r--r--PLUGINS/src/status/status.c4
-rw-r--r--PLUGINS/src/svdrpdemo/HISTORY4
-rw-r--r--PLUGINS/src/svdrpdemo/Makefile7
-rw-r--r--PLUGINS/src/svdrpdemo/svdrpdemo.c4
-rw-r--r--config.h10
-rw-r--r--dvbdevice.c3
-rwxr-xr-xnewplugin7
-rw-r--r--skinlcars.h2
44 files changed, 460 insertions, 71 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d21f884..21489eb 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -691,6 +691,8 @@ Oliver Endriss <o.endriss@gmx.de>
for suggesting a better way of handling calls to realloc()
for making the cutter set the 'broken link' flag for MPEG2 TS recordings
for reporting a crash in a plugin using cDeviceHook when VDR ends
+ for reporting that "include" needs to be removed from the DVBDIR setting in the VDR
+ Makefile
Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf'
@@ -1324,6 +1326,8 @@ Reinhard Nissl <rnissl@gmx.de>
for reporting that the Transfer Mode indicator bitmap in the LCARS skin may not
fit with small font sizes
for reporting a race condition when zapping in transfer mode
+ for requesting that plugin Makefiles should include a configuration file for compile
+ time parameters
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
@@ -1763,6 +1767,7 @@ Udo Richter <udo_richter@gmx.de>
for suggesting to check cIoThrottle::Engaged() in cRemoveDeletedRecordingsThread::Action()
for suggesting to shift editing marks that don't point to an I-frame towards the next I-frame
when a recording is played
+ for requesting to keep using relative paths when building plugins locally
Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date
@@ -2814,6 +2819,8 @@ Christopher Reimer <reimer.christopher@freenet.de>
mechanism
for suggesting to give the plugin Makefiles a separate 'install' target
for making plugin Makefiles use DESTDIR and the 'install' program
+ for suggesting to make sure that plugins include the VDR header files from the actual
+ VDR source directory when doing "make plugins"
Stefan Huskamp <coca_cola1@gmx.de>
for suggesting to make entering characters via the number keys
@@ -3022,3 +3029,6 @@ Stefan Blochberger <Stefan.Blochberger@gmx.de>
recording is started
for suggesting that floating point numbers presented to the user shall be displayed
in the way defined by the current locale
+
+Cedric Dewijs <cedric.dewijs@telfort.nl>
+ for adding maximum SNR value for PCTV Systems PCTV 73ESE
diff --git a/HISTORY b/HISTORY
index 5b4513d..311fb61 100644
--- a/HISTORY
+++ b/HISTORY
@@ -7459,3 +7459,37 @@ Video Disk Recorder Revision History
- Fixed cIndexFile::GetNextIFrame() to properly handle the case where the very last frame
is an I-frame (which normally shouldn't occur).
- Fixed replaying ongoing recordings from other VDR instances.
+
+2012-12-30: Version 1.7.35
+
+- Making sure that plugins include the VDR header files from the actual VDR source
+ directory when doing "make plugins" (suggested by Christoper Reimer).
+- Increased the version numbers of all plugins to reflect the recent Makefile changes.
+- Removed the lines
+ ifdef DVBDIR
+ INCLUDES += -I$(DVBDIR)/include
+ endif
+ from the file Make.config.template. If set, DVBDIR is now conveyed to plugins via
+ the CFLAGS.
+- Removed some redundancy from Make.config.template.
+- Changed "==" to "=" in the Makefile to make it POSIX style.
+- Added MANDIR to the vdr.pc file, so that plugins that need it can retrieve it via
+ MANDIR = $(DESTDIR)$(call PKGCFG,mandir).
+- Using relative paths again when building plugins locally (by request of Udo Richter).
+- Plugin Makefiles can now include a configuration file for compile time parameters
+ (requested by Reinhard Nissl). The actual name of this file can be defined in
+ Make.config (see "PLGCFG" in Make.config.template), and existing plugin Makefiles
+ that have compile time parameters should add the lines
+ PLGCFG = $(call PKGCFG,plgcfg)
+ -include $(PLGCFG)
+ accordingly (see the "newplugin" script for details).
+- Re-enabled building plugins that still use pre-version-1.7.34 Makefiles.
+ The file Make.global is present again to satisfy the "include" these Makefiles do,
+ but the file itself contains no settings. The VDR Makefile's "plugins" target
+ determines whether a particular plugin uses an old style Makefile and calls it
+ accordingly. Note that this only works when building plugins from within the VDR
+ source tree, using "make plugins" in the VDR source directory.
+- Removed "include" from the DVBDIR setting in the VDR Makefile (reported by Oliver
+ Endriss). You may need to adjust your DVBDIR setting in Make.config, in case you
+ use it.
+- Added maximum SNR value for PCTV Systems PCTV 73ESE (thanks to Cedric Dewijs).
diff --git a/Make.config.template b/Make.config.template
index a2cc697..4bf8db5 100644
--- a/Make.config.template
+++ b/Make.config.template
@@ -6,7 +6,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
-# $Id: Make.config.template 2.12 2012/12/22 10:54:47 kls Exp $
+# $Id: Make.config.template 2.14 2012/12/28 09:55:22 kls Exp $
### The C compiler and options:
@@ -17,12 +17,10 @@ CXX = g++
CXXFLAGS = $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses
CFLAGS += -fPIC
-CXXFLAGS += -fPIC
# Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine:
ifdef M32
CFLAGS += -m32
-CXXFLAGS += -m32
endif
### The directory environment:
@@ -32,6 +30,10 @@ PREFIX = /usr/local
MANDIR = $(PREFIX)/man
BINDIR = $(PREFIX)/bin
+# Use this if you want to have a central place where you configure compile time
+# parameters for plugins:
+#PLGCFG = /etc/vdr/plugins.conf
+
# By default locale and plugin files are built under the source directory:
INCDIR = $(CWD)/include
LOCDIR = $(CWD)/locale
@@ -57,9 +59,3 @@ LIRC_DEVICE = /var/run/lirc/lircd
## Define if you want vdr to not run as root
#VDR_USER = vdr
-
-### You don't need to touch the following:
-
-ifdef DVBDIR
-INCLUDES += -I$(DVBDIR)/include
-endif
diff --git a/Make.global b/Make.global
new file mode 100644
index 0000000..e259402
--- /dev/null
+++ b/Make.global
@@ -0,0 +1,10 @@
+#
+# Strictly necessary Makefile options for the Video Disk Recorder
+#
+# See the main source file 'vdr.c' for copyright information and
+# how to reach the author.
+#
+# $Id: Make.global 1.2 2012/12/29 12:03:01 kls Exp $
+
+# This is just a dummy file for plugins that use old style (version 1.7.33
+# or earlier) Makefiles.
diff --git a/Makefile b/Makefile
index de48e37..f4d2341 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
-# $Id: Makefile 2.36 2012/12/23 11:28:13 kls Exp $
+# $Id: Makefile 2.47 2012/12/30 11:18:18 kls Exp $
.DELETE_ON_ERROR:
@@ -17,14 +17,13 @@ CXX ?= g++
CXXFLAGS ?= $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses
CFLAGS += -fPIC
-CXXFLAGS += -fPIC
CDEFINES = -D_GNU_SOURCE
CDEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
# Directories:
-CWD := $(shell pwd)
+CWD = .
LSIDIR = ./libsi
DESTDIR ?=
PREFIX ?= /usr/local
@@ -49,6 +48,12 @@ PCDIR ?= $(firstword $(subst :, , ${PKG_CONFIG_PATH}:$(shell pkg-config --vari
-include Make.config
+ifdef DVBDIR
+CFLAGS += -I$(DVBDIR)
+endif
+
+UP3 = $(if $(findstring "$(LIBDIR)-$(LOCDIR)","$(CWD)/PLUGINS/lib-$(CWD)/locale"),../../../,)
+
SILIB = $(LSIDIR)/libsi.a
OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
@@ -127,15 +132,17 @@ $(SILIB):
.PHONY: vdr.pc
vdr.pc:
@echo "bindir=$(BINDIR)" > $@
+ @echo "mandir=$(MANDIR)" >> $@
@echo "configdir=$(CONFDIRDEF)" >> $@
@echo "videodir=$(VIDEODIR)" >> $@
@echo "cachedir=$(CACHEDIRDEF)" >> $@
@echo "resdir=$(RESDIRDEF)" >> $@
- @echo "libdir=$(LIBDIR)" >> $@
- @echo "locdir=$(LOCDIR)" >> $@
+ @echo "libdir=$(UP3)$(LIBDIR)" >> $@
+ @echo "locdir=$(UP3)$(LOCDIR)" >> $@
+ @echo "plgcfg=$(PLGCFG)" >> $@
@echo "apiversion=$(APIVERSION)" >> $@
- @echo "cflags=$(CFLAGS) $(CDEFINES) -I$(INCDIR)" >> $@
- @echo "cxxflags=$(CXXFLAGS) $(CDEFINES) -I$(INCDIR)" >> $@
+ @echo "cflags=$(CFLAGS) $(CDEFINES) -I$(UP3)$(INCDIR)" >> $@
+ @echo "cxxflags=$(CXXFLAGS) $(CDEFINES) -I$(UP3)$(INCDIR)" >> $@
@echo "" >> $@
@echo "Name: VDR" >> $@
@echo "Description: Video Disk Recorder" >> $@
@@ -192,11 +199,27 @@ plugins: include-dir vdr.pc
noapiv="$$noapiv $$i";\
continue;\
fi;\
- target=all;\
- if [ "$(LIBDIR)" == "$(CWD)/PLUGINS/lib" ] && [ "$(LOCDIR)" == "$(CWD)/locale" ]; then\
- target=install;\
+ newmakefile=`grep "PKGCFG" "$(PLUGINDIR)/src/$$i/Makefile"`;\
+ if [ -z "$$newmakefile" ]; then\
+ echo "********************************************************************";\
+ echo "* Your plugin \"$$i\" is using an old Makefile!";\
+ echo "* While this currently still works, it is strongly recommended";\
+ echo "* that you convert that Makefile to the new style used since";\
+ echo "* VDR version 1.7.35. Support for old style Makefiles may be dropped";\
+ echo "* in future versions of VDR.";\
+ echo "********************************************************************";\
+ $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" CXXFLAGS="$(CXXFLAGS)" VDRDIR=$(UP3) LIBDIR=../../lib all || failed="$$failed $$i";\
+ else\
+ target=all;\
+ if [ "$(LIBDIR)" = "$(CWD)/PLUGINS/lib" ] && [ "$(LOCDIR)" = "$(CWD)/locale" ]; then\
+ target="install";\
+ fi;\
+ includes=;\
+ if [ "$(INCDIR)" != "$(CWD)/include" ]; then\
+ includes="INCLUDES=-I$(UP3)/include";\
+ fi;\
+ $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR=$(UP3) $$includes $$target || failed="$$failed $$i";\
fi;\
- $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR=$(CWD) $$target || failed="$$failed $$i";\
done;\
if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; exit 1; fi
@@ -239,7 +262,7 @@ install-doc:
install-plugins: plugins
@for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
- $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR=$(CWD) DESTDIR=$(DESTDIR) install;\
+ $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR=$(UP3) DESTDIR=$(DESTDIR) install;\
done
# Includes:
diff --git a/PLUGINS/src/dvbhddevice/HISTORY b/PLUGINS/src/dvbhddevice/HISTORY
index 280e0ad..2fffbea 100644
--- a/PLUGINS/src/dvbhddevice/HISTORY
+++ b/PLUGINS/src/dvbhddevice/HISTORY
@@ -39,7 +39,11 @@ VDR Plugin 'dvbhddevice' Revision History
- Allow to disable true color OSD support via setup option
2011-04-xx: Version 0.0.4
+
- locally define DVB OSD API extensions to support compiling with original DVB headers
- Return correct pixel aspect ratio in GetOsdSize
- Adapt Makefile to changes introduced in recent VDR versions
+2012-12-27: Version 0.0.5
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/dvbhddevice/Makefile b/PLUGINS/src/dvbhddevice/Makefile
index ef6ef51..67ff5e0 100644
--- a/PLUGINS/src/dvbhddevice/Makefile
+++ b/PLUGINS/src/dvbhddevice/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 1.19 2012/12/23 10:01:00 kls Exp $
+# $Id: Makefile 1.20 2012/12/28 10:08:50 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -19,6 +19,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/dvbhddevice/dvbhddevice.c b/PLUGINS/src/dvbhddevice/dvbhddevice.c
index 20b6762..2218e3f 100644
--- a/PLUGINS/src/dvbhddevice/dvbhddevice.c
+++ b/PLUGINS/src/dvbhddevice/dvbhddevice.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: dvbhddevice.c 1.17 2012/06/07 09:33:18 kls Exp $
+ * $Id: dvbhddevice.c 1.18 2012/12/27 10:30:48 kls Exp $
*/
#include <vdr/plugin.h>
@@ -12,7 +12,7 @@
#include "menu.h"
#include "setup.h"
-static const char *VERSION = "0.0.4";
+static const char *VERSION = "0.0.5";
static const char *DESCRIPTION = trNOOP("HD Full Featured DVB device");
static const char *MAINMENUENTRY = "dvbhddevice";
diff --git a/PLUGINS/src/dvbhddevice/dvbhdffdevice.c b/PLUGINS/src/dvbhddevice/dvbhdffdevice.c
index 845fa6b..e81d93b 100644
--- a/PLUGINS/src/dvbhddevice/dvbhdffdevice.c
+++ b/PLUGINS/src/dvbhddevice/dvbhdffdevice.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: dvbhdffdevice.c 1.46 2012/11/15 09:19:10 kls Exp $
+ * $Id: dvbhdffdevice.c 1.47 2012/12/29 13:23:22 kls Exp $
*/
#include <stdint.h>
@@ -23,6 +23,10 @@
#include "hdffosd.h"
#include "setup.h"
+
+static uchar *YuvToJpeg(uchar *Mem, int Width, int Height, int &Size, int Quality);
+
+
// --- cDvbHdFfDevice ----------------------------------------------------------
int cDvbHdFfDevice::devHdffOffset = -1;
@@ -123,8 +127,112 @@ cSpuDecoder *cDvbHdFfDevice::GetSpuDecoder(void)
uchar *cDvbHdFfDevice::GrabImage(int &Size, bool Jpeg, int Quality, int SizeX, int SizeY)
{
- //TODO
- return NULL;
+ #define BUFFER_SIZE (sizeof(struct v4l2_pix_format) + 1920 * 1080 * 2)
+ int fd;
+ uint8_t * buffer;
+ uint8_t * result = NULL;
+
+ fd = DvbOpen(DEV_DVB_VIDEO, adapter, frontend, O_RDONLY);
+ if (fd < 0) {
+ esyslog("GrabImage: failed open DVB video device");
+ return NULL;
+ }
+
+ buffer = (uint8_t *) malloc(BUFFER_SIZE);
+ if (buffer)
+ {
+ int readBytes;
+
+ readBytes = read(fd, buffer, BUFFER_SIZE);
+ if (readBytes < (int) sizeof(struct v4l2_pix_format))
+ esyslog("GrabImage: failed reading from DVB video device");
+ else {
+ struct v4l2_pix_format * pixfmt;
+ int dataSize;
+
+ pixfmt = (struct v4l2_pix_format *) buffer;
+ dsyslog("GrabImage: Read image of size %d x %d",
+ pixfmt->width, pixfmt->height);
+ dataSize = readBytes - sizeof(struct v4l2_pix_format);
+ if (dataSize < (int) pixfmt->sizeimage)
+ esyslog("GrabImage: image is not complete");
+ else {
+ if (Jpeg) {
+ uint8_t * temp;
+ temp = (uint8_t *) malloc(pixfmt->width * 3 * pixfmt->height);
+ if (temp) {
+ int numPixels = pixfmt->width * pixfmt->height;
+ uint8_t * destData = temp;
+ uint8_t * srcData = buffer + sizeof(struct v4l2_pix_format);
+ while (numPixels > 0)
+ {
+ destData[0] = srcData[1];
+ destData[1] = srcData[0];
+ destData[2] = srcData[2];
+ destData[3] = srcData[3];
+ destData[4] = srcData[0];
+ destData[5] = srcData[2];
+ srcData += 4;
+ destData += 6;
+ numPixels -= 2;
+ }
+ if (Quality < 0)
+ Quality = 100;
+ result = YuvToJpeg(temp, pixfmt->width, pixfmt->height, Size, Quality);
+ free(temp);
+ }
+ }
+ else {
+ // convert to PNM:
+ char buf[32];
+ snprintf(buf, sizeof(buf), "P6\n%d\n%d\n255\n",
+ pixfmt->width, pixfmt->height);
+ int l = strlen(buf);
+ Size = l + pixfmt->width * 3 * pixfmt->height;
+ result = (uint8_t *) malloc(Size);
+ if (result)
+ {
+ memcpy(result, buf, l);
+ uint8_t * destData = result + l;
+ uint8_t * srcData = buffer + sizeof(struct v4l2_pix_format);
+ int numPixels = pixfmt->width * pixfmt->height;
+ while (numPixels > 0)
+ {
+ int cb = srcData[0] - 128;
+ int y1 = srcData[1];
+ int cr = srcData[2] - 128;
+ int y2 = srcData[3];
+ int r;
+ int g;
+ int b;
+
+ r = y1 + (int) (1.402f * cr);
+ g = y1 - (int) (0.344f * cb + 0.714f * cr);
+ b = y1 + (int) (1.772f * cb);
+ destData[0] = r > 255 ? 255 : r < 0 ? 0 : r;
+ destData[1] = g > 255 ? 255 : g < 0 ? 0 : g;
+ destData[2] = b > 255 ? 255 : b < 0 ? 0 : b;
+ r = y2 + (int) (1.402f * cr);
+ g = y2 - (int) (0.344f * cb + 0.714f * cr);
+ b = y2 + (int) (1.772f * cb);
+ destData[3] = r > 255 ? 255 : r < 0 ? 0 : r;
+ destData[4] = g > 255 ? 255 : g < 0 ? 0 : g;
+ destData[5] = b > 255 ? 255 : b < 0 ? 0 : b;
+
+ srcData += 4;
+ destData += 6;
+ numPixels -= 2;
+ }
+ }
+ }
+ }
+ }
+ free(buffer);
+ }
+
+ close(fd);
+
+ return result;
}
void cDvbHdFfDevice::SetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat)
@@ -423,7 +531,7 @@ bool cDvbHdFfDevice::SetPlayMode(ePlayMode PlayMode)
mHdffCmdIf->CmdAvSetDecoderInput(0, 2);
ioctl(fd_video, VIDEO_SELECT_SOURCE, VIDEO_SOURCE_MEMORY);
- }
+ }
}
playMode = PlayMode;
return true;
@@ -840,3 +948,104 @@ bool cDvbHdFfDeviceProbe::Probe(int Adapter, int Frontend)
}
return false;
}
+
+
+// --- YuvToJpeg -------------------------------------------------------------
+
+#include <jpeglib.h>
+
+#define JPEGCOMPRESSMEM 4000000
+
+struct tJpegCompressData {
+ int size;
+ uchar *mem;
+ };
+
+static void JpegCompressInitDestination(j_compress_ptr cinfo)
+{
+ tJpegCompressData *jcd = (tJpegCompressData *)cinfo->client_data;
+ if (jcd) {
+ cinfo->dest->free_in_buffer = jcd->size = JPEGCOMPRESSMEM;
+ cinfo->dest->next_output_byte = jcd->mem = MALLOC(uchar, jcd->size);
+ }
+}
+
+static boolean JpegCompressEmptyOutputBuffer(j_compress_ptr cinfo)
+{
+ tJpegCompressData *jcd = (tJpegCompressData *)cinfo->client_data;
+ if (jcd) {
+ int Used = jcd->size;
+ int NewSize = jcd->size + JPEGCOMPRESSMEM;
+ if (uchar *NewBuffer = (uchar *)realloc(jcd->mem, NewSize)) {
+ jcd->size = NewSize;
+ jcd->mem = NewBuffer;
+ }
+ else {
+ esyslog("ERROR: out of memory");
+ return false;
+ }
+ if (jcd->mem) {
+ cinfo->dest->next_output_byte = jcd->mem + Used;
+ cinfo->dest->free_in_buffer = jcd->size - Used;
+ return true;
+ }
+ }
+ return false;
+}
+
+static void JpegCompressTermDestination(j_compress_ptr cinfo)
+{
+ tJpegCompressData *jcd = (tJpegCompressData *)cinfo->client_data;
+ if (jcd) {
+ int Used = cinfo->dest->next_output_byte - jcd->mem;
+ if (Used < jcd->size) {
+ if (uchar *NewBuffer = (uchar *)realloc(jcd->mem, Used)) {
+ jcd->size = Used;
+ jcd->mem = NewBuffer;
+ }
+ else
+ esyslog("ERROR: out of memory");
+ }
+ }
+}
+
+static uchar *YuvToJpeg(uchar *Mem, int Width, int Height, int &Size, int Quality)
+{
+ if (Quality < 0)
+ Quality = 0;
+ else if (Quality > 100)
+ Quality = 100;
+
+ jpeg_destination_mgr jdm;
+
+ jdm.init_destination = JpegCompressInitDestination;
+ jdm.empty_output_buffer = JpegCompressEmptyOutputBuffer;
+ jdm.term_destination = JpegCompressTermDestination;
+
+ struct jpeg_compress_struct cinfo;
+ struct jpeg_error_mgr jerr;
+ cinfo.err = jpeg_std_error(&jerr);
+ jpeg_create_compress(&cinfo);
+ cinfo.dest = &jdm;
+ tJpegCompressData jcd;
+ cinfo.client_data = &jcd;
+ cinfo.image_width = Width;
+ cinfo.image_height = Height;
+ cinfo.input_components = 3;
+ cinfo.in_color_space = JCS_YCbCr;
+
+ jpeg_set_defaults(&cinfo);
+ jpeg_set_quality(&cinfo, Quality, true);
+ jpeg_start_compress(&cinfo, true);
+
+ int rs = Width * 3;
+ JSAMPROW rp[Height];
+ for (int k = 0; k < Height; k++)
+ rp[k] = &Mem[rs * k];
+ jpeg_write_scanlines(&cinfo, rp, Height);
+ jpeg_finish_compress(&cinfo);
+ jpeg_destroy_compress(&cinfo);
+
+ Size = jcd.size;
+ return jcd.mem;
+}
diff --git a/PLUGINS/src/dvbsddevice/HISTORY b/PLUGINS/src/dvbsddevice/HISTORY
index 676dd6f..e183ab6 100644
--- a/PLUGINS/src/dvbsddevice/HISTORY
+++ b/PLUGINS/src/dvbsddevice/HISTORY
@@ -24,8 +24,12 @@ VDR Plugin 'dvbsddevice' Revision History
- Added option --outputonly to use the device only for output (thanks to Udo Richter).
-2012-03-07: Version 0.06
+2012-03-07: Version 0.0.6
- Removed the call to EITScanner.UsesDevice(this) from dvbsddevice.c, because
the code following these calls is only executed if LiveView is true, which is
never the case when the EITScanner switches to a channel.
+
+2012-12-27: Version 0.0.7
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/dvbsddevice/Makefile b/PLUGINS/src/dvbsddevice/Makefile
index 4451774..a18a57c 100644
--- a/PLUGINS/src/dvbsddevice/Makefile
+++ b/PLUGINS/src/dvbsddevice/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 1.15 2012/12/23 10:01:12 kls Exp $
+# $Id: Makefile 1.18 2012/12/29 10:28:45 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/dvbsddevice/dvbsddevice.c b/PLUGINS/src/dvbsddevice/dvbsddevice.c
index 7f1dde4..9db81ee 100644
--- a/PLUGINS/src/dvbsddevice/dvbsddevice.c
+++ b/PLUGINS/src/dvbsddevice/dvbsddevice.c
@@ -3,14 +3,14 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: dvbsddevice.c 1.6 2012/03/07 13:58:08 kls Exp $
+ * $Id: dvbsddevice.c 1.7 2012/12/27 10:32:23 kls Exp $
*/
#include <getopt.h>
#include <vdr/plugin.h>
#include "dvbsdffdevice.h"
-static const char *VERSION = "0.0.6";
+static const char *VERSION = "0.0.7";
static const char *DESCRIPTION = "SD Full Featured DVB device";
class cPluginDvbsddevice : public cPlugin {
diff --git a/PLUGINS/src/epgtableid0/HISTORY b/PLUGINS/src/epgtableid0/HISTORY
index 7f732ad..03366bd 100644
--- a/PLUGINS/src/epgtableid0/HISTORY
+++ b/PLUGINS/src/epgtableid0/HISTORY
@@ -4,3 +4,7 @@ VDR Plugin 'epgtableid0' Revision History
2012-03-10: Version 0.0.1
- Initial revision.
+
+2012-12-27: Version 0.0.2
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/epgtableid0/Makefile b/PLUGINS/src/epgtableid0/Makefile
index 48b6b6e..91aae7f 100644
--- a/PLUGINS/src/epgtableid0/Makefile
+++ b/PLUGINS/src/epgtableid0/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 1.8 2012/12/23 10:01:40 kls Exp $
+# $Id: Makefile 1.11 2012/12/29 10:28:58 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/epgtableid0/epgtableid0.c b/PLUGINS/src/epgtableid0/epgtableid0.c
index d400b48..b2697c2 100644
--- a/PLUGINS/src/epgtableid0/epgtableid0.c
+++ b/PLUGINS/src/epgtableid0/epgtableid0.c
@@ -3,13 +3,13 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: epgtableid0.c 1.1 2012/03/10 15:10:43 kls Exp $
+ * $Id: epgtableid0.c 1.2 2012/12/27 10:32:52 kls Exp $
*/
#include <vdr/epg.h>
#include <vdr/plugin.h>
-static const char *VERSION = "0.0.1";
+static const char *VERSION = "0.0.2";
static const char *DESCRIPTION = "EPG handler for events with table id 0x00";
// --- cTable0Handler --------------------------------------------------------
diff --git a/PLUGINS/src/hello/HISTORY b/PLUGINS/src/hello/HISTORY
index 3b30315..0bc4576 100644
--- a/PLUGINS/src/hello/HISTORY
+++ b/PLUGINS/src/hello/HISTORY
@@ -74,3 +74,7 @@ VDR Plugin 'hello' Revision History
2010-02-28: Version 0.2.5
- Added Lithuanian language translations (thanks to Valdemaras Pipiras).
+
+2012-12-27: Version 0.2.6
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/hello/Makefile b/PLUGINS/src/hello/Makefile
index 4cfcae8..b729122 100644
--- a/PLUGINS/src/hello/Makefile
+++ b/PLUGINS/src/hello/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.15 2012/12/23 10:03:51 kls Exp $
+# $Id: Makefile 2.16 2012/12/28 10:09:20 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -19,6 +19,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/hello/hello.c b/PLUGINS/src/hello/hello.c
index b7d141d..5ec3b68 100644
--- a/PLUGINS/src/hello/hello.c
+++ b/PLUGINS/src/hello/hello.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: hello.c 2.3 2010/02/28 12:49:28 kls Exp $
+ * $Id: hello.c 2.4 2012/12/27 10:35:04 kls Exp $
*/
#include <getopt.h>
@@ -12,7 +12,7 @@
#include <vdr/interface.h>
#include <vdr/plugin.h>
-static const char *VERSION = "0.2.5";
+static const char *VERSION = "0.2.6";
static const char *DESCRIPTION = trNOOP("A friendly greeting");
static const char *MAINMENUENTRY = trNOOP("Hello");
diff --git a/PLUGINS/src/osddemo/HISTORY b/PLUGINS/src/osddemo/HISTORY
index 5db6bef..7ffad13 100644
--- a/PLUGINS/src/osddemo/HISTORY
+++ b/PLUGINS/src/osddemo/HISTORY
@@ -38,3 +38,7 @@ VDR Plugin 'osddemo' Revision History
2012-03-13: Version 0.2.3
- No longer using GetFont() (which is not thread safe) in the 'osddemo' plugin,
+
+2012-12-27: Version 0.2.4
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/osddemo/Makefile b/PLUGINS/src/osddemo/Makefile
index 3ef4fdc..2d24485 100644
--- a/PLUGINS/src/osddemo/Makefile
+++ b/PLUGINS/src/osddemo/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.11 2012/12/23 10:04:05 kls Exp $
+# $Id: Makefile 2.14 2012/12/29 10:29:04 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/osddemo/osddemo.c b/PLUGINS/src/osddemo/osddemo.c
index d4da3d8..5184ed8 100644
--- a/PLUGINS/src/osddemo/osddemo.c
+++ b/PLUGINS/src/osddemo/osddemo.c
@@ -3,13 +3,13 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: osddemo.c 2.6 2012/03/13 15:17:33 kls Exp $
+ * $Id: osddemo.c 2.7 2012/12/27 10:36:21 kls Exp $
*/
#include <vdr/osd.h>
#include <vdr/plugin.h>
-static const char *VERSION = "0.2.3";
+static const char *VERSION = "0.2.4";
static const char *DESCRIPTION = "Demo of arbitrary OSD setup";
static const char *MAINMENUENTRY = "Osd Demo";
diff --git a/PLUGINS/src/pictures/HISTORY b/PLUGINS/src/pictures/HISTORY
index 9426283..161d01d 100644
--- a/PLUGINS/src/pictures/HISTORY
+++ b/PLUGINS/src/pictures/HISTORY
@@ -72,6 +72,10 @@ VDR Plugin 'pictures' Revision History
- Removed an obsolete command line option.
-2012-04-2r8 Version 0.1.3
+2012-04-28: Version 0.1.3
- Added cPictureControl::GetHeader().
+
+2012-12-27: Version 0.1.4
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/pictures/Makefile b/PLUGINS/src/pictures/Makefile
index 516cb85..71377c9 100644
--- a/PLUGINS/src/pictures/Makefile
+++ b/PLUGINS/src/pictures/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.15 2012/12/23 10:04:13 kls Exp $
+# $Id: Makefile 2.16 2012/12/28 10:09:29 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -19,6 +19,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/pictures/pictures.c b/PLUGINS/src/pictures/pictures.c
index 77df0d9..25e8be0 100644
--- a/PLUGINS/src/pictures/pictures.c
+++ b/PLUGINS/src/pictures/pictures.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: pictures.c 2.6 2012/04/28 11:58:42 kls Exp $
+ * $Id: pictures.c 2.7 2012/12/27 10:37:07 kls Exp $
*/
#include <getopt.h>
@@ -11,7 +11,7 @@
#include "menu.h"
#include "player.h"
-static const char *VERSION = "0.1.3";
+static const char *VERSION = "0.1.4";
static const char *DESCRIPTION = trNOOP("A simple picture viewer");
static const char *MAINMENUENTRY = trNOOP("Pictures");
diff --git a/PLUGINS/src/rcu/HISTORY b/PLUGINS/src/rcu/HISTORY
index 87b9413..4d03e49 100644
--- a/PLUGINS/src/rcu/HISTORY
+++ b/PLUGINS/src/rcu/HISTORY
@@ -8,3 +8,7 @@ VDR Plugin 'rcu' Revision History
2012-03-07: Version 0.0.2
- Added new parameter LiveView to ChannelSwitch().
+
+2012-12-27: Version 0.0.3
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/rcu/Makefile b/PLUGINS/src/rcu/Makefile
index d1b162a..db0818c 100644
--- a/PLUGINS/src/rcu/Makefile
+++ b/PLUGINS/src/rcu/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 1.8 2012/12/23 10:04:15 kls Exp $
+# $Id: Makefile 1.11 2012/12/29 10:29:09 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/rcu/rcu.c b/PLUGINS/src/rcu/rcu.c
index 79f4612..dab7bba 100644
--- a/PLUGINS/src/rcu/rcu.c
+++ b/PLUGINS/src/rcu/rcu.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: rcu.c 1.2 2012/03/07 14:22:44 kls Exp $
+ * $Id: rcu.c 1.3 2012/12/27 10:37:31 kls Exp $
*/
#include <getopt.h>
@@ -16,7 +16,7 @@
#include <vdr/thread.h>
#include <vdr/tools.h>
-static const char *VERSION = "0.0.2";
+static const char *VERSION = "0.0.3";
static const char *DESCRIPTION = "Remote Control Unit";
#define REPEATLIMIT 150 // ms
diff --git a/PLUGINS/src/servicedemo/HISTORY b/PLUGINS/src/servicedemo/HISTORY
index 76d95a5..4d368df 100644
--- a/PLUGINS/src/servicedemo/HISTORY
+++ b/PLUGINS/src/servicedemo/HISTORY
@@ -9,3 +9,7 @@ VDR Plugin 'servicedemo' Revision History
- Moved the "all" target in the Makefile before the "Implicit rules",
so that a plain "make" will compile everything.
+
+2012-12-27: Version 0.1.3
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/servicedemo/Makefile b/PLUGINS/src/servicedemo/Makefile
index dfe05a4..df4e372 100644
--- a/PLUGINS/src/servicedemo/Makefile
+++ b/PLUGINS/src/servicedemo/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.9 2012/12/23 10:04:16 kls Exp $
+# $Id: Makefile 2.12 2012/12/29 10:29:15 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -19,6 +19,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN1).c | awk '{ pr
# 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = svcintf-$(VERSION)
@@ -72,10 +77,12 @@ libvdr-$(PLUGIN1).so: $(PLUGIN1).o
libvdr-$(PLUGIN2).so: $(PLUGIN2).o
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@
-install: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so
+install-lib: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so
install -D libvdr-$(PLUGIN1).so $(LIBDIR)/libvdr-$(PLUGIN1).so.$(APIVERSION)
install -D libvdr-$(PLUGIN2).so $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION)
+install: install-lib
+
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
diff --git a/PLUGINS/src/servicedemo/svccli.c b/PLUGINS/src/servicedemo/svccli.c
index a426416..171b30c 100644
--- a/PLUGINS/src/servicedemo/svccli.c
+++ b/PLUGINS/src/servicedemo/svccli.c
@@ -3,14 +3,14 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: svccli.c 2.0 2007/08/15 13:18:08 kls Exp $
+ * $Id: svccli.c 2.1 2012/12/27 10:37:57 kls Exp $
*/
#include <stdlib.h>
#include <vdr/interface.h>
#include <vdr/plugin.h>
-static const char *VERSION = "0.1.2";
+static const char *VERSION = "0.1.3";
static const char *DESCRIPTION = "Service demo client";
static const char *MAINMENUENTRY = "Service demo";
diff --git a/PLUGINS/src/servicedemo/svcsvr.c b/PLUGINS/src/servicedemo/svcsvr.c
index 1eea1d5..f7b2548 100644
--- a/PLUGINS/src/servicedemo/svcsvr.c
+++ b/PLUGINS/src/servicedemo/svcsvr.c
@@ -3,14 +3,14 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: svcsvr.c 2.0 2007/08/15 13:18:59 kls Exp $
+ * $Id: svcsvr.c 2.1 2012/12/27 10:38:19 kls Exp $
*/
#include <stdlib.h>
#include <vdr/interface.h>
#include <vdr/plugin.h>
-static const char *VERSION = "0.1.2";
+static const char *VERSION = "0.1.3";
static const char *DESCRIPTION = "Service demo server";
class cPluginSvcSvr : public cPlugin {
diff --git a/PLUGINS/src/skincurses/HISTORY b/PLUGINS/src/skincurses/HISTORY
index deb011b..c8117a3 100644
--- a/PLUGINS/src/skincurses/HISTORY
+++ b/PLUGINS/src/skincurses/HISTORY
@@ -101,3 +101,7 @@ VDR Plugin 'skincurses' Revision History
- Now displaying disk usage in the title of the main and "Recordings" menu,
which is no longer done by the VDR core.
+
+2012-12-27: Version 0.1.13
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/skincurses/Makefile b/PLUGINS/src/skincurses/Makefile
index 63be8bb..6ba4d25 100644
--- a/PLUGINS/src/skincurses/Makefile
+++ b/PLUGINS/src/skincurses/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.15 2012/12/23 10:04:18 kls Exp $
+# $Id: Makefile 2.16 2012/12/28 10:09:36 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -19,6 +19,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/skincurses/skincurses.c b/PLUGINS/src/skincurses/skincurses.c
index 587d0b9..5d4ee48 100644
--- a/PLUGINS/src/skincurses/skincurses.c
+++ b/PLUGINS/src/skincurses/skincurses.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: skincurses.c 2.9 2012/04/23 08:53:13 kls Exp $
+ * $Id: skincurses.c 2.10 2012/12/27 10:38:43 kls Exp $
*/
#include <ncurses.h>
@@ -12,7 +12,7 @@
#include <vdr/skins.h>
#include <vdr/videodir.h>
-static const char *VERSION = "0.1.12";
+static const char *VERSION = "0.1.13";
static const char *DESCRIPTION = trNOOP("A text only skin");
static const char *MAINMENUENTRY = NULL;
diff --git a/PLUGINS/src/status/HISTORY b/PLUGINS/src/status/HISTORY
index 01af66a..80b6fd5 100644
--- a/PLUGINS/src/status/HISTORY
+++ b/PLUGINS/src/status/HISTORY
@@ -48,3 +48,7 @@ VDR Plugin 'status' Revision History
2012-03-11: Version 0.3.1
- Added new parameter LiveView to ChannelSwitch() (reported by Udo Richter).
+
+2012-12-27: Version 0.3.2
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/status/Makefile b/PLUGINS/src/status/Makefile
index fc8ef9e..9635a5d 100644
--- a/PLUGINS/src/status/Makefile
+++ b/PLUGINS/src/status/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.10 2012/12/23 10:04:43 kls Exp $
+# $Id: Makefile 2.13 2012/12/29 10:29:20 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/status/status.c b/PLUGINS/src/status/status.c
index e27fa5d..fdf1104 100644
--- a/PLUGINS/src/status/status.c
+++ b/PLUGINS/src/status/status.c
@@ -3,13 +3,13 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: status.c 2.1 2012/03/11 14:48:37 kls Exp $
+ * $Id: status.c 2.2 2012/12/27 10:39:26 kls Exp $
*/
#include <vdr/plugin.h>
#include <vdr/status.h>
-static const char *VERSION = "0.3.1";
+static const char *VERSION = "0.3.2";
static const char *DESCRIPTION = "Status monitor test";
static const char *MAINMENUENTRY = NULL;
diff --git a/PLUGINS/src/svdrpdemo/HISTORY b/PLUGINS/src/svdrpdemo/HISTORY
index 6433468..1771233 100644
--- a/PLUGINS/src/svdrpdemo/HISTORY
+++ b/PLUGINS/src/svdrpdemo/HISTORY
@@ -13,3 +13,7 @@ VDR Plugin 'svdrpdemo' Revision History
- Moved the "all" target in the Makefile before the "Implicit rules",
so that a plain "make" will compile everything.
+
+2012-12-27: Version 0.0.4
+
+- Adapted Makefile to changes introduced in recent VDR versions.
diff --git a/PLUGINS/src/svdrpdemo/Makefile b/PLUGINS/src/svdrpdemo/Makefile
index 84eba02..d40e483 100644
--- a/PLUGINS/src/svdrpdemo/Makefile
+++ b/PLUGINS/src/svdrpdemo/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile 2.10 2012/12/23 10:04:47 kls Exp $
+# $Id: Makefile 2.13 2012/12/29 10:29:24 kls Exp $
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
# 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include $(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
diff --git a/PLUGINS/src/svdrpdemo/svdrpdemo.c b/PLUGINS/src/svdrpdemo/svdrpdemo.c
index d618e26..b47b9d4 100644
--- a/PLUGINS/src/svdrpdemo/svdrpdemo.c
+++ b/PLUGINS/src/svdrpdemo/svdrpdemo.c
@@ -3,12 +3,12 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: svdrpdemo.c 2.0 2007/08/15 13:19:57 kls Exp $
+ * $Id: svdrpdemo.c 2.1 2012/12/27 10:39:48 kls Exp $
*/
#include <vdr/plugin.h>
-static const char *VERSION = "0.0.3";
+static const char *VERSION = "0.0.4";
static const char *DESCRIPTION = "How to add SVDRP support to a plugin";
class cPluginSvdrpdemo : public cPlugin {
diff --git a/config.h b/config.h
index 3624d9d..eced96e 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 2.58 2012/12/11 09:59:16 kls Exp $
+ * $Id: config.h 2.59 2012/12/27 09:56:56 kls Exp $
*/
#ifndef __CONFIG_H
@@ -22,13 +22,13 @@
// VDR's own version number:
-#define VDRVERSION "1.7.34"
-#define VDRVERSNUM 10734 // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION "1.7.35"
+#define VDRVERSNUM 10735 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
-#define APIVERSION "1.7.34"
-#define APIVERSNUM 10734 // Version * 10000 + Major * 100 + Minor
+#define APIVERSION "1.7.35"
+#define APIVERSNUM 10735 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to
diff --git a/dvbdevice.c b/dvbdevice.c
index 43e8544..8c57497 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.c 2.75 2012/12/03 14:07:01 kls Exp $
+ * $Id: dvbdevice.c 2.76 2012/12/30 11:27:39 kls Exp $
*/
#include "dvbdevice.h"
@@ -632,6 +632,7 @@ int cDvbTuner::GetSignalQuality(void) const
// special treatment to map their Snr value into the range 0...0xFFFF.
switch (subsystemId) {
case 0x13C21019: MaxSnr = 200; break; // TT-budget S2-3200 (DVB-S/DVB-S2)
+ case 0x20130245: MaxSnr = 255; break; // PCTV Systems PCTV 73ESE
}
int a = int(Snr) * 100 / MaxSnr;
int b = 100 - (Unc * 10 + (Ber / 256) * 5);
diff --git a/newplugin b/newplugin
index a7bd5fc..df6f0bd 100755
--- a/newplugin
+++ b/newplugin
@@ -12,7 +12,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
-# $Id: newplugin 2.14 2012/12/23 10:05:22 kls Exp $
+# $Id: newplugin 2.15 2012/12/28 09:52:29 kls Exp $
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
@@ -78,6 +78,7 @@ VERSION = \$(shell grep 'static const char \\*VERSION *=' \$(PLUGIN).c | awk '{
PKGCFG = \$(if \$(VDRDIR),\$(shell pkg-config --variable=\$(1) \$(VDRDIR)/vdr.pc),\$(shell pkg-config --variable=\$(1) vdr || pkg-config --variable=\$(1) ../../../vdr.pc))
LIBDIR = \$(DESTDIR)\$(call PKGCFG,libdir)
LOCDIR = \$(DESTDIR)\$(call PKGCFG,locdir)
+PLGCFG = \$(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
@@ -90,6 +91,10 @@ export CXXFLAGS = \$(call PKGCFG,cxxflags)
APIVERSION = \$(call PKGCFG,apiversion)
+### Allow user defined options to overwrite defaults:
+
+-include \$(PLGCFG)
+
### The name of the distribution archive:
ARCHIVE = \$(PLUGIN)-\$(VERSION)
diff --git a/skinlcars.h b/skinlcars.h
index 7306d12..71117f6 100644
--- a/skinlcars.h
+++ b/skinlcars.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: skinlcars.h 1.1 2012/04/15 13:17:35 kls Exp $
+ * $Id: skinlcars.h 2.1 2012/04/15 13:17:35 kls Exp $
*/
#ifndef __SKINLCARS_H