Project

General

Profile

Feature #1251 » image.diff

UlrichEckhardt, 02/12/2013 11:46 AM

View differences:

HISTORY Sun Jan 27 14:23:28 2013 +0100 → HISTORY Mon Feb 11 18:24:38 2013 +0100
VDR Plugin 'image' Revision History
-----------------------------------
2013-02-11
- Release Version 0.3.3
- Various Makefile fixes for VDR > 1.7.36
2013-02-02
- Release Version 0.3.2
- Support for VDR > 1.7.35
- Compiles with recent ffmpeg
2011-03-19
- Release Version 0.3.1
- Adjust to compile plugin with VDR >= 1.7.17
Makefile Sun Jan 27 14:23:28 2013 +0100 → Makefile Mon Feb 11 18:24:38 2013 +0100
#
PLUGIN = image
### The C++ compiler and options:
#### The version number of this plugin (taken from the main source file):
CXX ?= g++
CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual
PKG-CONFIG ?= pkg-config
###############################################
###############################################
#
# no user configurable options below this point
#
###############################################
###############################################
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
### The directory environment:
VDRDIR = ../../..
LIBDIR = ../../lib
TMPDIR = /tmp
# 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 = $(call PKGCFG,libdir)
LOCDIR = $(call PKGCFG,locdir)
CFGDIR = $(call PKGCFG,configdir)/plugins/$(PLUGIN)
PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
### The compiler options:
export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API (taken from VDR's "config.h"):
APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults:
-include $(VDRDIR)/Make.config
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
### The version number of VDR (taken from VDR's "config.h"):
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
-include $(PLGCFG)
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
### The name of the shared object file:
SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
INCLUDES += -I$(VDRDIR)/include -I.
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
CXXFLAGS +=-D__STDC_CONSTANT_MACROS
### The version number of ffmpeg (taken from "libavcodec/avcodec.h" ):
ifdef FFMDIR
......
### Includes and Defines (add further entries here):
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
DEFINES += -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
LIBS += liboutput/liboutput.a libimage/libimage.a
INCLUDES += -I$(VDRDIR)/include -I.
ifneq (exists, $(shell pkg-config libavcodec && echo exists))
$(warning ******************************************************************)
$(warning 'libavcodec' not detected! ')
$(warning ******************************************************************)
endif
ifdef FFMDIR
DEFINES += -DFFMDIR
LIBS += -L$(FFMDIR)/libavcodec -lavcodec -lz
ifeq ($(LIBAVCODECVERSION),51)
LIBS += -L$(FFMDIR)/libavformat -L$(FFMDIR)/libavutil
LIBS += -lavformat -lavutil
ifneq (exists, $(shell pkg-config libavformat && echo exists))
$(warning ******************************************************************)
$(warning 'libavformat' not detected! ')
$(warning ******************************************************************)
endif
ifneq (exists, $(shell pkg-config libswscale && echo exists))
$(warning ******************************************************************)
$(warning 'libswscale' not detected! ')
$(warning ******************************************************************)
WITHOUT_SWSCALER = 1
endif
ifneq (exists, $(shell pkg-config libexif && echo exists))
$(warning ******************************************************************)
$(warning 'libexif' not detected! ')
$(warning ******************************************************************)
WITHOUT_LIBEXIF=1
endif
LIBS += $(shell pkg-config --libs libavformat)
CXXFLAGS += $(shell pkg-config --cflags libavformat)
LIBS += $(shell pkg-config --libs libavcodec)
CXXFLAGS += $(shell pkg-config --cflags libavcodec)
ifndef WITHOUT_SWSCALER
DEFINES += -DHAVE_SWSCALER
LIBS += -L$(FFMDIR)/libswscale -lswscale
endif
else
PKG-LIBS += libavcodec
PKG-INCLUDES += libavcodec
ifndef WITHOUT_SWSCALER
PKG-INCLUDES += libswscale
PKG-LIBS += libswscale
endif
LIBS += $(shell pkg-config --libs libswscale)
CXXFLAGS += $(shell pkg-config --cflags libswscale)
endif
ifndef WITHOUT_LIBEXIF
PKG-INCLUDES += libexif
PKG-LIBS += libexif
CXXFLAGS += $(shell pkg-config --cflags libexif)
LIBS += $(shell pkg-config --libs libexif)
DEFINES += -DHAVE_LIBEXIF
endif
ifdef PKG-INCLUDES
INCLUDES += $(shell $(PKG-CONFIG) --cflags $(PKG-INCLUDES))
endif
ifdef PKG-LIBS
LIBS += $(shell $(PKG-CONFIG) --libs $(PKG-LIBS))
endif
### The object files (add further files here):
OBJS = ${PLUGIN}.o data.o menu.o data-image.o menu-image.o \
......
SUBDIRS = liboutput libimage
### The main target:
all: subdirs $(SOFILE) i18n
### Implicit rules:
%.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
# Dependencies:
$(CXX) $(CXXFLAGS) $(CEXTRA) -c $(DEFINES) $(INCLUDES) $<
### Dependencies:
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
$(DEPFILE): Makefile
@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) *.h > $@
-include $(DEPFILE)
### Internationalization (I18N):
PODIR = po
LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
I18Nmsgs = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
msgfmt -v -c -o $@ $<
$(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='Andreas Brachold <anbr at user.berlios.de>' -o $@ $^
$(I18Npot): $(wildcard *.c *.h)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
%.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
@touch $@
$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(dir $@)
cp $< $@
$(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
install -D -m644 $< $@
.PHONY: i18n
i18n: $(I18Nmsgs)
i18n: $(I18Nmo) $(I18Npot)
install-i18n: $(I18Nmsgs)
### Targets:
all: subdirs libvdr-$(PLUGIN).so i18n
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared -export-dynamic $(OBJS) $(LIBS) -o $@
@mkdir -p $(LIBDIR)
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
install: install-lib install-i18n
subdirs:
@for i in $(SUBDIRS) ;\
......
|| exit 1;\
done
dist: clean
dist: $(I18Npo) clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
@cp -a * $(TMPDIR)/$(ARCHIVE)
@chmod 644 -R $(TMPDIR)/$(ARCHIVE)/*
@find $(TMPDIR)/$(ARCHIVE) -name "*.sh" -exec chmod a+x {} \;
@find $(TMPDIR)/$(ARCHIVE) -type d -exec chmod 755 {} \;
@chown root.root -R $(TMPDIR)/$(ARCHIVE)/*
@tar czf $(PACKAGE).tar.gz --exclude=.svn -C $(TMPDIR) $(ARCHIVE)
@tar czf $(PACKAGE).tgz -C $(TMPDIR) $(ARCHIVE)
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@echo Distribution package created as $(PACKAGE).tar.gz
@echo Distribution package created as $(PACKAGE).tgz
subdirs-clean:
@for i in $(SUBDIRS) ;\
......
clean: subdirs-clean
@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
@-rm -f $(OBJS) $(DEPFILE) *.so *.tar.gz core* *~ contrib/*~ examples/*~ scripts/*~
@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ contrib/*~ examples/*~ scripts/*~
/dev/null Thu Jan 01 00:00:00 1970 +0000 → Makefile.old Mon Feb 11 18:24:38 2013 +0100
#
# Makefile for Image plugin to VDR
#
# (C) 2004-2008 Andreas Brachold <anbr at users.berlios.de>
#
# This code is distributed under the terms and conditions of the
# GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
#
#
# You can change the compile options here or create a Make.config
# in the VDR directory an set them there.
#
# $Id: Makefile 65 2010-10-19 16:55:00Z anbr $
#
### uncomment the following line, if you don't have libexif installed
#WITHOUT_LIBEXIF=1
#FFMDIR = ../../../../ffmpeg
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
#
PLUGIN = image
### The C++ compiler and options:
CXX ?= g++
CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual
PKG-CONFIG ?= pkg-config
###############################################
###############################################
#
# no user configurable options below this point
#
###############################################
###############################################
### The directory environment:
VDRDIR = ../../..
LIBDIR = ../../lib
TMPDIR = /tmp
### Allow user defined options to overwrite defaults:
-include $(VDRDIR)/Make.config
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
### The version number of VDR (taken from VDR's "config.h"):
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
### The version number of ffmpeg (taken from "libavcodec/avcodec.h" ):
ifdef FFMDIR
LIBAVCODECVERSION = $(shell grep "\#define LIBAVCODEC_VERSION " $(FFMDIR)/libavcodec/avcodec.h | \
awk '{ print $$3 }' | cut -d "." -f 1 )
endif
### Includes and Defines (add further entries here):
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
DEFINES += -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
LIBS += liboutput/liboutput.a libimage/libimage.a
INCLUDES += -I$(VDRDIR)/include -I.
ifdef FFMDIR
DEFINES += -DFFMDIR
LIBS += -L$(FFMDIR)/libavcodec -lavcodec -lz
ifeq ($(LIBAVCODECVERSION),51)
LIBS += -L$(FFMDIR)/libavformat -L$(FFMDIR)/libavutil
LIBS += -lavformat -lavutil
endif
ifndef WITHOUT_SWSCALER
DEFINES += -DHAVE_SWSCALER
LIBS += -L$(FFMDIR)/libswscale -lswscale
endif
else
PKG-LIBS += libavcodec
PKG-INCLUDES += libavcodec
ifndef WITHOUT_SWSCALER
PKG-INCLUDES += libswscale
PKG-LIBS += libswscale
endif
endif
ifndef WITHOUT_LIBEXIF
PKG-INCLUDES += libexif
PKG-LIBS += libexif
DEFINES += -DHAVE_LIBEXIF
endif
ifdef PKG-INCLUDES
INCLUDES += $(shell $(PKG-CONFIG) --cflags $(PKG-INCLUDES))
endif
ifdef PKG-LIBS
LIBS += $(shell $(PKG-CONFIG) --libs $(PKG-LIBS))
endif
### The object files (add further files here):
OBJS = ${PLUGIN}.o data.o menu.o data-image.o menu-image.o \
setup-image.o player-image.o control-image.o commands.o menu-commands.o \
list.o
ifndef WITHOUT_LIBEXIF
OBJS += exif.o
endif
### The subdirectories:
SUBDIRS = liboutput libimage
### Implicit rules:
%.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
# Dependencies:
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
$(DEPFILE): Makefile
@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
-include $(DEPFILE)
### Internationalization (I18N):
PODIR = po
LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='Andreas Brachold <anbr at user.berlios.de>' -o $@ $^
%.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(dir $@)
cp $< $@
.PHONY: i18n
i18n: $(I18Nmsgs)
### Targets:
all: subdirs libvdr-$(PLUGIN).so i18n
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared -export-dynamic $(OBJS) $(LIBS) -o $@
@mkdir -p $(LIBDIR)
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
subdirs:
@for i in $(SUBDIRS) ;\
do \
( cd $$i;\
$(MAKE) all PLUGIN=$(PLUGIN);\
) \
|| exit 1;\
done
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
@cp -a * $(TMPDIR)/$(ARCHIVE)
@chmod 644 -R $(TMPDIR)/$(ARCHIVE)/*
@find $(TMPDIR)/$(ARCHIVE) -name "*.sh" -exec chmod a+x {} \;
@find $(TMPDIR)/$(ARCHIVE) -type d -exec chmod 755 {} \;
@chown root.root -R $(TMPDIR)/$(ARCHIVE)/*
@tar czf $(PACKAGE).tar.gz --exclude=.svn -C $(TMPDIR) $(ARCHIVE)
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@echo Distribution package created as $(PACKAGE).tar.gz
subdirs-clean:
@for i in $(SUBDIRS) ;\
do \
( cd $$i;\
$(MAKE) clean;\
) \
|| exit 1;\
done
clean: subdirs-clean
@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
@-rm -f $(OBJS) $(DEPFILE) *.so *.tar.gz core* *~ contrib/*~ examples/*~ scripts/*~
control-image.c Sun Jan 27 14:23:28 2013 +0100 → control-image.c Mon Feb 11 18:24:38 2013 +0100
*/
eOSState cImageControl::ProcessKeyPlayMode(eKeys Key)
{
switch (Key)
switch ((int)Key)
{
// Mode select
case kBack: return ProcessKeyStopped();
data-image.h Sun Jan 27 14:23:28 2013 +0100 → data-image.h Mon Feb 11 18:24:38 2013 +0100
int m_nDefaultRotate;
#endif
protected:
void Unlink(const char *szName);
void Clear(void);
public:
cImageData(const char *szName, cFileSource * pSource);
virtual ~cImageData();
bool CompareBaseDir(const cFileSource * pSource) const;
static void Unlink(const char *szName);
inline const char *Name(void) const
{
exif.c Sun Jan 27 14:23:28 2013 +0100 → exif.c Mon Feb 11 18:24:38 2013 +0100
eOSState cImageMenuExif::ProcessKey(eKeys nKey)
{
switch (nKey) {
switch ((int)nKey) {
case kUp|k_Repeat:
case kUp:
case kDown|k_Repeat:
image.c Sun Jan 27 14:23:28 2013 +0100 → image.c Mon Feb 11 18:24:38 2013 +0100
* (C) 2004 A. Holzhammer for the massive script updates
* (C) 2004-2011 Andreas Brachold <anbr at users.berlios.de>
*
* based on mp3/mplayer plugin by Stefan H?lswitt <huels at iname.com>
* based on mp3/mplayer plugin by Stefan Hlswitt <huels at iname.com>
*
* This code is distributed under the terms and conditions of the
* GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
......
#include "commands.h"
#include "liboutput/encode.h"
static const char *VERSION = "0.3.1";
static const char *VERSION = "0.3.3";
class cPluginImage : public cPlugin {
cDirItem* m_pServiceDirItem;
image.h Sun Jan 27 14:23:28 2013 +0100 → image.h Mon Feb 11 18:24:38 2013 +0100
#include <vdr/skins.h>
#include <string.h>
#ifdef APIVERSNUM
#if APIVERSNUM < 10347
#error "For compiled are at the least VDR Plugin-API 1.3.47 required"
#endif
#endif
inline void OSD_InfoMsg(const char* sz)
{
liboutput/encode.c Sun Jan 27 14:23:28 2013 +0100 → liboutput/encode.c Mon Feb 11 18:24:38 2013 +0100
bool cEncode::Register()
{
avcodec_init();
#if 0
// XXX to resolv: dosen't work with osdpip
register_avcodec(&mpeg2video_encoder);
#else
av_register_all();
avcodec_register_all();
#endif
m_pavCodec = avcodec_find_encoder(CODEC_ID_MPEG2VIDEO);
if (!m_pavCodec) {
......
AVCodecContext *pAVCC = NULL;
AVFrame *pAVF = NULL;
pAVCC = avcodec_alloc_context();
pAVCC = avcodec_alloc_context3(m_pavCodec);
if (! pAVCC)
{
esyslog("imageplugin: Failed to alloc memory for AVCodecContext.");
......
{
SetupEncodingParameters(pAVCC);
if (avcodec_open(pAVCC, m_pavCodec) < 0)
if (avcodec_open2(pAVCC, m_pavCodec, NULL) < 0)
{
esyslog("imageplugin: Couldn't open Codec.");
}
......
context->height = m_nHeight;
#if LIBAVCODEC_BUILD >= 4754
context->time_base=(AVRational){1, GetFrameRate()};
context->time_base=(AVRational){1, (int)GetFrameRate()};
#else
context->frame_rate=GetFrameRate();
context->frame_rate_base=1;
......
bool cEncode::EncodeFrames(AVCodecContext *context, AVFrame *frame)
{
AVPacket outpkt;
int got_output;
if(!m_pFrameSizes)
{
esyslog("imageplugin: Failed to add MPEG sequence, insufficient memory.");
......
}
unsigned int i;
av_init_packet(&outpkt);
m_nMPEGSize = 0;
// Encode m_nNumberOfFramesToEncode number of frames
for(i=0; (i < m_nNumberOfFramesToEncode) && (m_nMPEGSize < m_nMaxMPEGSize);
++i)
{
int nFrameSize = avcodec_encode_video(context, m_pMPEG + m_nMPEGSize,
m_nMaxMPEGSize - m_nMPEGSize, frame);
if(nFrameSize < 0)
outpkt.data = ( m_pMPEG + m_nMPEGSize);
outpkt.size = m_nMaxMPEGSize - m_nMPEGSize;
int err = avcodec_encode_video2(context, &outpkt,frame, &got_output);
if(err < 0)
{
esyslog("imageplugin: Failed to add frame %d, insufficient memory.",
i);
return false;
}
m_nMPEGSize += nFrameSize;
*(m_pFrameSizes + i) = nFrameSize;
m_nMPEGSize += outpkt.size;
*(m_pFrameSizes + i) = outpkt.size;
}
// Add four bytes MPEG end sequence
liboutput/encode.h Sun Jan 27 14:23:28 2013 +0100 → liboutput/encode.h Mon Feb 11 18:24:38 2013 +0100
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#ifdef HAVE_SWSCALE
# include <libswscale/swscale.h>
#endif
}
#include "../setup-image.h"
menu-commands.c Sun Jan 27 14:23:28 2013 +0100 → menu-commands.c Mon Feb 11 18:24:38 2013 +0100
eOSState cImageMenuResult::ProcessKey(eKeys nKey)
{
switch (nKey) {
switch ((int)nKey) {
case kUp|k_Repeat:
case kUp:
case kDown|k_Repeat:
player-image.c Sun Jan 27 14:23:28 2013 +0100 → player-image.c Mon Feb 11 18:24:38 2013 +0100
#include "image.h"
#include "list.h"
#include <vdr/i18n.h>
#include <vdr/status.h>
#include "libimage/pnm.h"
#include "libimage/xpm.h"
......
}
}
fclose(f);
if (ImageSetup.m_bRemoveImmediately) {
cImageData::Unlink (pShell->szPNM);
}
}
}
if(!bSuccess) {
......
return bQueueEmpty;
}
// cStatus::MsgReplaying(this, "Image", pShell->szPNM, true );
if(pShell->szCmd) {
//dsyslog("imageplugin: executing script '%s'", pShell->szCmd);
player-image.h Sun Jan 27 14:23:28 2013 +0100 → player-image.h Mon Feb 11 18:24:38 2013 +0100
: szCmd(NULL)
, szPNM(NULL)
, szNumber('\0')
, nOffLeft(0)
, nOffTop(0)
, nWidth(0)
, nHeight(0)
, bClearBackground(false)
{
}
setup-image.c Sun Jan 27 14:23:28 2013 +0100 → setup-image.c Mon Feb 11 18:24:38 2013 +0100
m_bLiveAudio = 0;
m_bHousekeeping = 1;
m_bUseDeviceStillPicture = 1;
m_bRemoveImmediately = false;
m_nBorderHeight = 16;
m_nBorderWidth = 16;
......
else ParseInteger("Housekeeping", m_bHousekeeping,0,1)
else ParseInteger("HideMainMenu", m_bHideMenu,0,1)
else ParseInteger("UseDeviceStillPicture", m_bUseDeviceStillPicture,0,1)
else ParseInteger("RemoveImmediately", m_bRemoveImmediately,0,1)
else if(!strcasecmp(szName, "TempDir")) {
strn0cpy(m_szTempDir,szValue,sizeof(m_szTempDir));
}
......
SetupStore("BorderWidth", ImageSetup.m_nBorderWidth);
SetupStore("HideMainMenu", ImageSetup.m_bHideMenu);
SetupStore("UseDeviceStillPicture", ImageSetup.m_bUseDeviceStillPicture);
SetupStore("RemoveImmediately", ImageSetup.m_bRemoveImmediately);
}
cMenuSetupImage::cMenuSetupImage(void)
......
m_tmpSetup.m_szTempDir,sizeof(m_tmpSetup.m_szTempDir),
"abcdefghijklmopqrstuvwxyz/-"));
Add(new cMenuEditBoolItem(tr("Remove temporary files immediately"),
&m_tmpSetup.m_bRemoveImmediately,
trVDR("no"), trVDR("yes")));
Add(new cMenuEditBoolItem(tr("Remove temporary files"),
&m_tmpSetup.m_bHousekeeping,
trVDR("no"), trVDR("yes")));
setup-image.h Sun Jan 27 14:23:28 2013 +0100 → setup-image.h Mon Feb 11 18:24:38 2013 +0100
int m_bLiveAudio;
/* Activate own house keeping system for temp. files, avoid pregenerated images */
int m_bHousekeeping;
/* Remove temp files immediately */
int m_bRemoveImmediately;
/* Use as output DeviceStillPicture */
int m_bUseDeviceStillPicture;
    (1-1/1)