mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
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:
parent
15485a5e06
commit
873ab00a77
10
CONTRIBUTORS
10
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
|
||||
|
34
HISTORY
34
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).
|
||||
|
@ -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
|
||||
|
10
Make.global
Normal file
10
Make.global
Normal 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.
|
47
Makefile
47
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:
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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 {
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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 --------------------------------------------------------
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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");
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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");
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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 {
|
||||
|
10
config.h
10
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
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user