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.
This commit is contained in:
Klaus Schmidinger 2012-12-30 12:52:00 +01:00 committed by Dieter Hametner
parent 15485a5e06
commit 873ab00a77
44 changed files with 460 additions and 71 deletions

View File

@ -691,6 +691,8 @@ Oliver Endriss <o.endriss@gmx.de>
for suggesting a better way of handling calls to realloc() for suggesting a better way of handling calls to realloc()
for making the cutter set the 'broken link' flag for MPEG2 TS recordings 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 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> Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf' 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 for reporting that the Transfer Mode indicator bitmap in the LCARS skin may not
fit with small font sizes fit with small font sizes
for reporting a race condition when zapping in transfer mode 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> Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the 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 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 for suggesting to shift editing marks that don't point to an I-frame towards the next I-frame
when a recording is played when a recording is played
for requesting to keep using relative paths when building plugins locally
Sven Kreiensen <svenk@kammer.uni-hannover.de> Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date for his help in keeping 'channels.conf.terr' up to date
@ -2814,6 +2819,8 @@ Christopher Reimer <reimer.christopher@freenet.de>
mechanism mechanism
for suggesting to give the plugin Makefiles a separate 'install' target for suggesting to give the plugin Makefiles a separate 'install' target
for making plugin Makefiles use DESTDIR and the 'install' program 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> Stefan Huskamp <coca_cola1@gmx.de>
for suggesting to make entering characters via the number keys for suggesting to make entering characters via the number keys
@ -3022,3 +3029,6 @@ Stefan Blochberger <Stefan.Blochberger@gmx.de>
recording is started recording is started
for suggesting that floating point numbers presented to the user shall be displayed for suggesting that floating point numbers presented to the user shall be displayed
in the way defined by the current locale in the way defined by the current locale
Cedric Dewijs <cedric.dewijs@telfort.nl>
for adding maximum SNR value for PCTV Systems PCTV 73ESE

34
HISTORY
View File

@ -7459,3 +7459,37 @@ Video Disk Recorder Revision History
- Fixed cIndexFile::GetNextIFrame() to properly handle the case where the very last frame - Fixed cIndexFile::GetNextIFrame() to properly handle the case where the very last frame
is an I-frame (which normally shouldn't occur). is an I-frame (which normally shouldn't occur).
- Fixed replaying ongoing recordings from other VDR instances. - 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).

View File

@ -6,7 +6,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # 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: ### The C compiler and options:
@ -17,12 +17,10 @@ CXX = g++
CXXFLAGS = $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses CXXFLAGS = $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses
CFLAGS += -fPIC CFLAGS += -fPIC
CXXFLAGS += -fPIC
# Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine: # Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine:
ifdef M32 ifdef M32
CFLAGS += -m32 CFLAGS += -m32
CXXFLAGS += -m32
endif endif
### The directory environment: ### The directory environment:
@ -32,6 +30,10 @@ PREFIX = /usr/local
MANDIR = $(PREFIX)/man MANDIR = $(PREFIX)/man
BINDIR = $(PREFIX)/bin 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: # By default locale and plugin files are built under the source directory:
INCDIR = $(CWD)/include INCDIR = $(CWD)/include
LOCDIR = $(CWD)/locale LOCDIR = $(CWD)/locale
@ -57,9 +59,3 @@ LIRC_DEVICE = /var/run/lirc/lircd
## Define if you want vdr to not run as root ## Define if you want vdr to not run as root
#VDR_USER = vdr #VDR_USER = vdr
### You don't need to touch the following:
ifdef DVBDIR
INCLUDES += -I$(DVBDIR)/include
endif

10
Make.global Normal file
View File

@ -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.

View File

@ -4,7 +4,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # 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: .DELETE_ON_ERROR:
@ -17,14 +17,13 @@ CXX ?= g++
CXXFLAGS ?= $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses CXXFLAGS ?= $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses
CFLAGS += -fPIC CFLAGS += -fPIC
CXXFLAGS += -fPIC
CDEFINES = -D_GNU_SOURCE CDEFINES = -D_GNU_SOURCE
CDEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE CDEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
# Directories: # Directories:
CWD := $(shell pwd) CWD = .
LSIDIR = ./libsi LSIDIR = ./libsi
DESTDIR ?= DESTDIR ?=
PREFIX ?= /usr/local PREFIX ?= /usr/local
@ -49,6 +48,12 @@ PCDIR ?= $(firstword $(subst :, , ${PKG_CONFIG_PATH}:$(shell pkg-config --vari
-include Make.config -include Make.config
ifdef DVBDIR
CFLAGS += -I$(DVBDIR)
endif
UP3 = $(if $(findstring "$(LIBDIR)-$(LOCDIR)","$(CWD)/PLUGINS/lib-$(CWD)/locale"),../../../,)
SILIB = $(LSIDIR)/libsi.a SILIB = $(LSIDIR)/libsi.a
OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\ 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 .PHONY: vdr.pc
vdr.pc: vdr.pc:
@echo "bindir=$(BINDIR)" > $@ @echo "bindir=$(BINDIR)" > $@
@echo "mandir=$(MANDIR)" >> $@
@echo "configdir=$(CONFDIRDEF)" >> $@ @echo "configdir=$(CONFDIRDEF)" >> $@
@echo "videodir=$(VIDEODIR)" >> $@ @echo "videodir=$(VIDEODIR)" >> $@
@echo "cachedir=$(CACHEDIRDEF)" >> $@ @echo "cachedir=$(CACHEDIRDEF)" >> $@
@echo "resdir=$(RESDIRDEF)" >> $@ @echo "resdir=$(RESDIRDEF)" >> $@
@echo "libdir=$(LIBDIR)" >> $@ @echo "libdir=$(UP3)$(LIBDIR)" >> $@
@echo "locdir=$(LOCDIR)" >> $@ @echo "locdir=$(UP3)$(LOCDIR)" >> $@
@echo "plgcfg=$(PLGCFG)" >> $@
@echo "apiversion=$(APIVERSION)" >> $@ @echo "apiversion=$(APIVERSION)" >> $@
@echo "cflags=$(CFLAGS) $(CDEFINES) -I$(INCDIR)" >> $@ @echo "cflags=$(CFLAGS) $(CDEFINES) -I$(UP3)$(INCDIR)" >> $@
@echo "cxxflags=$(CXXFLAGS) $(CDEFINES) -I$(INCDIR)" >> $@ @echo "cxxflags=$(CXXFLAGS) $(CDEFINES) -I$(UP3)$(INCDIR)" >> $@
@echo "" >> $@ @echo "" >> $@
@echo "Name: VDR" >> $@ @echo "Name: VDR" >> $@
@echo "Description: Video Disk Recorder" >> $@ @echo "Description: Video Disk Recorder" >> $@
@ -192,11 +199,27 @@ plugins: include-dir vdr.pc
noapiv="$$noapiv $$i";\ noapiv="$$noapiv $$i";\
continue;\ continue;\
fi;\ fi;\
target=all;\ newmakefile=`grep "PKGCFG" "$(PLUGINDIR)/src/$$i/Makefile"`;\
if [ "$(LIBDIR)" == "$(CWD)/PLUGINS/lib" ] && [ "$(LOCDIR)" == "$(CWD)/locale" ]; then\ if [ -z "$$newmakefile" ]; then\
target=install;\ 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;\ fi;\
$(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR=$(CWD) $$target || failed="$$failed $$i";\
done;\ done;\
if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\ 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 if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; exit 1; fi
@ -239,7 +262,7 @@ install-doc:
install-plugins: plugins install-plugins: plugins
@for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\ @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 done
# Includes: # Includes:

View File

@ -39,7 +39,11 @@ VDR Plugin 'dvbhddevice' Revision History
- Allow to disable true color OSD support via setup option - Allow to disable true color OSD support via setup option
2011-04-xx: Version 0.0.4 2011-04-xx: Version 0.0.4
- locally define DVB OSD API extensions to support compiling with original DVB headers - locally define DVB OSD API extensions to support compiling with original DVB headers
- Return correct pixel aspect ratio in GetOsdSize - Return correct pixel aspect ratio in GetOsdSize
- Adapt Makefile to changes introduced in recent VDR versions - 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.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR = $(DESTDIR)$(call PKGCFG,locdir) LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * 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> #include <vdr/plugin.h>
@ -12,7 +12,7 @@
#include "menu.h" #include "menu.h"
#include "setup.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 *DESCRIPTION = trNOOP("HD Full Featured DVB device");
static const char *MAINMENUENTRY = "dvbhddevice"; static const char *MAINMENUENTRY = "dvbhddevice";

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * 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> #include <stdint.h>
@ -23,6 +23,10 @@
#include "hdffosd.h" #include "hdffosd.h"
#include "setup.h" #include "setup.h"
static uchar *YuvToJpeg(uchar *Mem, int Width, int Height, int &Size, int Quality);
// --- cDvbHdFfDevice ---------------------------------------------------------- // --- cDvbHdFfDevice ----------------------------------------------------------
int cDvbHdFfDevice::devHdffOffset = -1; 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) uchar *cDvbHdFfDevice::GrabImage(int &Size, bool Jpeg, int Quality, int SizeX, int SizeY)
{ {
//TODO #define BUFFER_SIZE (sizeof(struct v4l2_pix_format) + 1920 * 1080 * 2)
return NULL; 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) void cDvbHdFfDevice::SetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat)
@ -423,7 +531,7 @@ bool cDvbHdFfDevice::SetPlayMode(ePlayMode PlayMode)
mHdffCmdIf->CmdAvSetDecoderInput(0, 2); mHdffCmdIf->CmdAvSetDecoderInput(0, 2);
ioctl(fd_video, VIDEO_SELECT_SOURCE, VIDEO_SOURCE_MEMORY); ioctl(fd_video, VIDEO_SELECT_SOURCE, VIDEO_SOURCE_MEMORY);
} }
} }
playMode = PlayMode; playMode = PlayMode;
return true; return true;
@ -840,3 +948,104 @@ bool cDvbHdFfDeviceProbe::Probe(int Adapter, int Frontend)
} }
return false; 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;
}

View File

@ -24,8 +24,12 @@ VDR Plugin 'dvbsddevice' Revision History
- Added option --outputonly to use the device only for output (thanks to Udo Richter). - 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 - 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 the code following these calls is only executed if LiveView is true, which is
never the case when the EITScanner switches to a channel. 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.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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: # 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,14 +3,14 @@
* *
* See the README file for copyright information and how to reach the author. * 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 <getopt.h>
#include <vdr/plugin.h> #include <vdr/plugin.h>
#include "dvbsdffdevice.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"; static const char *DESCRIPTION = "SD Full Featured DVB device";
class cPluginDvbsddevice : public cPlugin { class cPluginDvbsddevice : public cPlugin {

View File

@ -4,3 +4,7 @@ VDR Plugin 'epgtableid0' Revision History
2012-03-10: Version 0.0.1 2012-03-10: Version 0.0.1
- Initial revision. - Initial revision.
2012-12-27: Version 0.0.2
- Adapted Makefile to changes introduced in recent VDR versions.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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: # 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,13 +3,13 @@
* *
* See the README file for copyright information and how to reach the author. * 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/epg.h>
#include <vdr/plugin.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"; static const char *DESCRIPTION = "EPG handler for events with table id 0x00";
// --- cTable0Handler -------------------------------------------------------- // --- cTable0Handler --------------------------------------------------------

View File

@ -74,3 +74,7 @@ VDR Plugin 'hello' Revision History
2010-02-28: Version 0.2.5 2010-02-28: Version 0.2.5
- Added Lithuanian language translations (thanks to Valdemaras Pipiras). - Added Lithuanian language translations (thanks to Valdemaras Pipiras).
2012-12-27: Version 0.2.6
- Adapted Makefile to changes introduced in recent VDR versions.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR = $(DESTDIR)$(call PKGCFG,locdir) LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * 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> #include <getopt.h>
@ -12,7 +12,7 @@
#include <vdr/interface.h> #include <vdr/interface.h>
#include <vdr/plugin.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 *DESCRIPTION = trNOOP("A friendly greeting");
static const char *MAINMENUENTRY = trNOOP("Hello"); static const char *MAINMENUENTRY = trNOOP("Hello");

View File

@ -38,3 +38,7 @@ VDR Plugin 'osddemo' Revision History
2012-03-13: Version 0.2.3 2012-03-13: Version 0.2.3
- No longer using GetFont() (which is not thread safe) in the 'osddemo' plugin, - 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.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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: # 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,13 +3,13 @@
* *
* See the README file for copyright information and how to reach the author. * 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/osd.h>
#include <vdr/plugin.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 *DESCRIPTION = "Demo of arbitrary OSD setup";
static const char *MAINMENUENTRY = "Osd Demo"; static const char *MAINMENUENTRY = "Osd Demo";

View File

@ -72,6 +72,10 @@ VDR Plugin 'pictures' Revision History
- Removed an obsolete command line option. - Removed an obsolete command line option.
2012-04-2r8 Version 0.1.3 2012-04-28: Version 0.1.3
- Added cPictureControl::GetHeader(). - Added cPictureControl::GetHeader().
2012-12-27: Version 0.1.4
- Adapted Makefile to changes introduced in recent VDR versions.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR = $(DESTDIR)$(call PKGCFG,locdir) LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * 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> #include <getopt.h>
@ -11,7 +11,7 @@
#include "menu.h" #include "menu.h"
#include "player.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 *DESCRIPTION = trNOOP("A simple picture viewer");
static const char *MAINMENUENTRY = trNOOP("Pictures"); static const char *MAINMENUENTRY = trNOOP("Pictures");

View File

@ -8,3 +8,7 @@ VDR Plugin 'rcu' Revision History
2012-03-07: Version 0.0.2 2012-03-07: Version 0.0.2
- Added new parameter LiveView to ChannelSwitch(). - Added new parameter LiveView to ChannelSwitch().
2012-12-27: Version 0.0.3
- Adapted Makefile to changes introduced in recent VDR versions.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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: # 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * 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> #include <getopt.h>
@ -16,7 +16,7 @@
#include <vdr/thread.h> #include <vdr/thread.h>
#include <vdr/tools.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"; static const char *DESCRIPTION = "Remote Control Unit";
#define REPEATLIMIT 150 // ms #define REPEATLIMIT 150 // ms

View File

@ -9,3 +9,7 @@ VDR Plugin 'servicedemo' Revision History
- Moved the "all" target in the Makefile before the "Implicit rules", - Moved the "all" target in the Makefile before the "Implicit rules",
so that a plain "make" will compile everything. so that a plain "make" will compile everything.
2012-12-27: Version 0.1.3
- Adapted Makefile to changes introduced in recent VDR versions.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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: # 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = svcintf-$(VERSION) ARCHIVE = svcintf-$(VERSION)
@ -72,10 +77,12 @@ libvdr-$(PLUGIN1).so: $(PLUGIN1).o
libvdr-$(PLUGIN2).so: $(PLUGIN2).o libvdr-$(PLUGIN2).so: $(PLUGIN2).o
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -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-$(PLUGIN1).so $(LIBDIR)/libvdr-$(PLUGIN1).so.$(APIVERSION)
install -D libvdr-$(PLUGIN2).so $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION) install -D libvdr-$(PLUGIN2).so $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION)
install: install-lib
dist: clean dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE) @-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE) @mkdir $(TMPDIR)/$(ARCHIVE)

View File

@ -3,14 +3,14 @@
* *
* See the README file for copyright information and how to reach the author. * 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 <stdlib.h>
#include <vdr/interface.h> #include <vdr/interface.h>
#include <vdr/plugin.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 *DESCRIPTION = "Service demo client";
static const char *MAINMENUENTRY = "Service demo"; static const char *MAINMENUENTRY = "Service demo";

View File

@ -3,14 +3,14 @@
* *
* See the README file for copyright information and how to reach the author. * 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 <stdlib.h>
#include <vdr/interface.h> #include <vdr/interface.h>
#include <vdr/plugin.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"; static const char *DESCRIPTION = "Service demo server";
class cPluginSvcSvr : public cPlugin { class cPluginSvcSvr : public cPlugin {

View File

@ -101,3 +101,7 @@ VDR Plugin 'skincurses' Revision History
- Now displaying disk usage in the title of the main and "Recordings" menu, - Now displaying disk usage in the title of the main and "Recordings" menu,
which is no longer done by the VDR core. 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.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
LOCDIR = $(DESTDIR)$(call PKGCFG,locdir) LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * 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> #include <ncurses.h>
@ -12,7 +12,7 @@
#include <vdr/skins.h> #include <vdr/skins.h>
#include <vdr/videodir.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 *DESCRIPTION = trNOOP("A text only skin");
static const char *MAINMENUENTRY = NULL; static const char *MAINMENUENTRY = NULL;

View File

@ -48,3 +48,7 @@ VDR Plugin 'status' Revision History
2012-03-11: Version 0.3.1 2012-03-11: Version 0.3.1
- Added new parameter LiveView to ChannelSwitch() (reported by Udo Richter). - 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.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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: # 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,13 +3,13 @@
* *
* See the README file for copyright information and how to reach the author. * 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/plugin.h>
#include <vdr/status.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 *DESCRIPTION = "Status monitor test";
static const char *MAINMENUENTRY = NULL; static const char *MAINMENUENTRY = NULL;

View File

@ -13,3 +13,7 @@ VDR Plugin 'svdrpdemo' Revision History
- Moved the "all" target in the Makefile before the "Implicit rules", - Moved the "all" target in the Makefile before the "Implicit rules",
so that a plain "make" will compile everything. so that a plain "make" will compile everything.
2012-12-27: Version 0.0.4
- Adapted Makefile to changes introduced in recent VDR versions.

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # 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. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the 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: # 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)) 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) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
PLGCFG = $(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
APIVERSION = $(call PKGCFG,apiversion) APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)

View File

@ -3,12 +3,12 @@
* *
* See the README file for copyright information and how to reach the author. * 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> #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"; static const char *DESCRIPTION = "How to add SVDRP support to a plugin";
class cPluginSvdrpdemo : public cPlugin { class cPluginSvdrpdemo : public cPlugin {

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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 #ifndef __CONFIG_H
@ -22,13 +22,13 @@
// VDR's own version number: // VDR's own version number:
#define VDRVERSION "1.7.34" #define VDRVERSION "1.7.35"
#define VDRVERSNUM 10734 // Version * 10000 + Major * 100 + Minor #define VDRVERSNUM 10735 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number: // The plugin API's version number:
#define APIVERSION "1.7.34" #define APIVERSION "1.7.35"
#define APIVERSNUM 10734 // Version * 10000 + Major * 100 + Minor #define APIVERSNUM 10735 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which // When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to // may be smaller than VDRVERSION in case there have been no changes to

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "dvbdevice.h"
@ -632,6 +632,7 @@ int cDvbTuner::GetSignalQuality(void) const
// special treatment to map their Snr value into the range 0...0xFFFF. // special treatment to map their Snr value into the range 0...0xFFFF.
switch (subsystemId) { switch (subsystemId) {
case 0x13C21019: MaxSnr = 200; break; // TT-budget S2-3200 (DVB-S/DVB-S2) 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 a = int(Snr) * 100 / MaxSnr;
int b = 100 - (Unc * 10 + (Ber / 256) * 5); int b = 100 - (Unc * 10 + (Ber / 256) * 5);

View File

@ -12,7 +12,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # 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"; $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)) 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) LIBDIR = \$(DESTDIR)\$(call PKGCFG,libdir)
LOCDIR = \$(DESTDIR)\$(call PKGCFG,locdir) LOCDIR = \$(DESTDIR)\$(call PKGCFG,locdir)
PLGCFG = \$(call PKGCFG,plgcfg)
# #
TMPDIR ?= /tmp TMPDIR ?= /tmp
@ -90,6 +91,10 @@ export CXXFLAGS = \$(call PKGCFG,cxxflags)
APIVERSION = \$(call PKGCFG,apiversion) APIVERSION = \$(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include \$(PLGCFG)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = \$(PLUGIN)-\$(VERSION) ARCHIVE = \$(PLUGIN)-\$(VERSION)

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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 #ifndef __SKINLCARS_H