Index: multimedia/vdr-plugin-markad/Makefile =================================================================== --- multimedia/vdr-plugin-markad/Makefile +++ multimedia/vdr-plugin-markad/Makefile @@ -13,7 +13,6 @@ LIB_DEPENDS+= libavcodec.so:multimedia/ffmpeg USES= execinfo pkgconfig tar:tgz -PATCH_STRIP= -p1 HAVE_CONFIGURE= yes PORTDOCS= COPYING README HISTORY PORTDATA= logos Index: multimedia/vdr-plugin-markad/files/patch-Makefile =================================================================== --- multimedia/vdr-plugin-markad/files/patch-Makefile +++ multimedia/vdr-plugin-markad/files/patch-Makefile @@ -1,5 +1,5 @@ ---- a/Makefile -+++ b/Makefile +--- Makefile.orig 2012-09-11 07:55:41 UTC ++++ Makefile @@ -13,10 +13,10 @@ ARCHIVE = markad-$(VERSION) PACKAGE = vdr-$(ARCHIVE) Index: multimedia/vdr-plugin-markad/files/patch-command-Makefile =================================================================== --- multimedia/vdr-plugin-markad/files/patch-command-Makefile +++ multimedia/vdr-plugin-markad/files/patch-command-Makefile @@ -1,48 +0,0 @@ ---- a/command/Makefile -+++ b/command/Makefile -@@ -16,6 +16,10 @@ CXXFLAGS ?= -g -rdynamic -O3 -funroll-lo - PKG-CONFIG ?= pkg-config - STRIP ?= strip - -+ifdef FREEBSD -+LIBS+=-lintl -lexecinfo -+endif -+ - ### Includes and Defines (add further entries here): - - PKG-LIBS += libavcodec libavutil -@@ -86,17 +90,34 @@ markad: $(OBJS) - $(CXX) $(CXXFLAGS) $(OBJS) $(LIBS) -o $@ - - -+ifdef FREEBSD -+MANDIR = $(PREFIX)/man -+else - MANDIR = $(DESTDIR)/usr/share/man -+endif - install-doc: -+ifdef FREEBSD -+ @mkdir -p ${DESTDIR}$(MANDIR)/man1 -+ @gzip -c markad.1 > ${DESTDIR}$(MANDIR)/man1/markad.1.gz -+else - @mkdir -p $(MANDIR)/man1 - @gzip -c markad.1 > $(MANDIR)/man1/markad.1.gz -+endif - - install: install-doc markad $(I18Nmsgs) -+ifdef FREEBSD -+ @mkdir -p ${DESTDIR}$(PREFIX)/bin -+ @cp -f markad ${DESTDIR}$(PREFIX)/bin/markad -+ @$(STRIP) ${DESTDIR}$(PREFIX)/bin/markad -+ @mkdir -p ${DESTDIR}$(DATADIR)/logos -+ @cp logos/* ${DESTDIR}$(DATADIR)/logos -+else - @mkdir -p $(DESTDIR)/usr/bin - @cp --remove-destination markad $(DESTDIR)/usr/bin/markad - @$(STRIP) $(DESTDIR)/usr/bin/markad - @mkdir -p $(DESTDIR)/var/lib/markad - @cp -a logos/* $(DESTDIR)/var/lib/markad -+endif - @echo markad installed - - clean: Index: multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp =================================================================== --- multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp +++ multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp @@ -1,36 +0,0 @@ ---- a/command/decoder.cpp -+++ b/command/decoder.cpp -@@ -6,7 +6,12 @@ - */ - - #include -+#ifndef __FreeBSD__ - #include -+#else -+#include -+#include -+#endif - #include - #include - #include -@@ -107,6 +112,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH - noticeERRMP2=false; - noticeERRAC3=false; - -+#ifndef __FreeBSD__ - cpu_set_t cpumask; - uint len = sizeof(cpumask); - int cpucount; -@@ -118,6 +124,12 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH - { - cpucount=CPU_COUNT(&cpumask); - } -+#else -+ int cpucount; -+ size_t cpus_size = sizeof(cpucount); -+ if (sysctlbyname("hw.ncpu", &cpucount, &cpus_size, NULL, 0) == -1) -+ cpucount = 1; -+#endif - - if (Threads==-1) - { Index: multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp-ffmpeg1 =================================================================== --- multimedia/vdr-plugin-markad/files/patch-command-decoder.cpp-ffmpeg1 +++ /dev/null @@ -1,11 +0,0 @@ ---- a/command/decoder.cpp -+++ b/command/decoder.cpp -@@ -164,7 +164,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH - } - - video_codec=NULL; -- CodecID video_codecid; -+ AVCodecID video_codecid; - - if (useH264) - { Index: multimedia/vdr-plugin-markad/files/patch-command-markad-standalone.cpp =================================================================== --- multimedia/vdr-plugin-markad/files/patch-command-markad-standalone.cpp +++ multimedia/vdr-plugin-markad/files/patch-command-markad-standalone.cpp @@ -1,138 +0,0 @@ ---- a/command/markad-standalone.cpp -+++ b/command/markad-standalone.cpp -@@ -24,7 +24,13 @@ - #include - #include - #include -+#ifndef __FreeBSD__ - #include -+#else -+#include -+#include -+#include -+#endif - #include - #include - #include -@@ -1428,6 +1434,7 @@ bool cMarkAdStandalone::SaveInfo() - time_t cMarkAdStandalone::GetBroadcastStart(time_t start, int fd) - { - // get broadcast start from atime of directory (if the volume is mounted with noatime) -+#ifndef __FreeBSD__ - struct mntent *ent; - struct stat statbuf; - FILE *mounts=setmntent(_PATH_MOUNTED,"r"); -@@ -1454,6 +1461,14 @@ time_t cMarkAdStandalone::GetBroadcastSt - } - } - endmntent(mounts); -+#else -+ struct stat statbuf; -+ struct statfs statfsbuf; -+ bool useatime=false; -+ if ((statfs(directory, &statfsbuf) == 0) && -+ !(statfsbuf.f_flags & MNT_NOATIME)) -+ useatime=true; -+#endif - - if ((useatime) && (stat(directory,&statbuf)!=-1)) - { -@@ -1554,6 +1569,16 @@ bool cMarkAdStandalone::LoadInfo() - if (lf) *lf=0; - char *cr=strchr(macontext.Info.ChannelName,13); - if (cr) *cr=0; -+#if 1 -+ int len = strlen(macontext.Info.ChannelName); -+ if (len > 5 && -+ (!strcmp(macontext.Info.ChannelName + len - 4, " (A)") || -+ !strcmp(macontext.Info.ChannelName + len - 4, " (C)") || -+ !strcmp(macontext.Info.ChannelName + len - 4, " (S)") || -+ !strcmp(macontext.Info.ChannelName + len - 4, " (T)") || -+ !strcmp(macontext.Info.ChannelName + len - 4, " (I)"))) -+ macontext.Info.ChannelName[len - 4] = '\0'; -+#endif - for (int i=0; i<(int) strlen(macontext.Info.ChannelName); i++) - { - if (macontext.Info.ChannelName[i]==' ') macontext.Info.ChannelName[i]='_'; -@@ -1961,10 +1986,14 @@ bool cMarkAdStandalone::CreatePidfile() - int pid; - if (fscanf(oldpid,"%10i\n",&pid)==1) - { -+#ifndef __FreeBSD__ - char procname[256]=""; - snprintf(procname,sizeof(procname),"/proc/%i",pid); - struct stat statbuf; - if (stat(procname,&statbuf)!=-1) -+#else -+ if (kill(pid, 0) == 0) -+#endif - { - // found another, running markad - fprintf(stderr,"another instance is running on %s",directory); -@@ -2081,6 +2110,7 @@ cMarkAdStandalone::cMarkAdStandalone(con - } - } - -+#ifndef __FreeBSD__ - long lb; - errno=0; - lb=sysconf(_SC_LONG_BIT); -@@ -2089,6 +2119,7 @@ cMarkAdStandalone::cMarkAdStandalone(con - isyslog("starting v%s (%libit)",VERSION,lb); - } - else -+#endif - { - isyslog("starting v%s",VERSION); - } -@@ -2319,7 +2350,7 @@ cMarkAdStandalone::~cMarkAdStandalone() - RemovePidfile(); - } - --bool isnumber(const char *s) -+bool str_isnumber(const char *s) - { - while (*s) - { -@@ -2345,7 +2376,11 @@ int usage(int svdrpport) - " ignores hints from info(.vdr) file\n" - " 4 = ignore timer info\n" - "-l --logocachedir\n" -+#ifdef DATADIR -+ " directory where logos stored, default " DATADIR "/logos\n" -+#else - " directory where logos stored, default /var/lib/markad\n" -+#endif - "-p --priority=\n" - " software priority of markad when running in background\n" - " from -20...19, default 19\n" -@@ -2489,7 +2524,11 @@ int main(int argc, char *argv[]) - config.logoHeight=-1; - config.threads=-1; - strcpy(config.svdrphost,"127.0.0.1"); -+#ifdef DATADIR -+ strcpy(config.logoDirectory,DATADIR "/logos"); -+#else - strcpy(config.logoDirectory,"/var/lib/markad"); -+#endif - - struct servent *serv=getservbyname("svdrp","tcp"); - if (serv) -@@ -2620,7 +2659,7 @@ int main(int argc, char *argv[]) - - case 'p': - // --priority -- if (isnumber(optarg) || *optarg=='-') -+ if (str_isnumber(optarg) || *optarg=='-') - niceLevel = atoi(optarg); - else - { -@@ -2806,7 +2845,7 @@ int main(int argc, char *argv[]) - break; - - case 9: // --svdrpport -- if (isnumber(optarg) && atoi(optarg) > 0 && atoi(optarg) < 65536) -+ if (str_isnumber(optarg) && atoi(optarg) > 0 && atoi(optarg) < 65536) - { - config.svdrpport=atoi(optarg); - } Index: multimedia/vdr-plugin-markad/files/patch-command_Makefile =================================================================== --- multimedia/vdr-plugin-markad/files/patch-command_Makefile +++ multimedia/vdr-plugin-markad/files/patch-command_Makefile @@ -1,5 +1,5 @@ ---- a/command/Makefile -+++ b/command/Makefile +--- command/Makefile.orig 2012-09-11 07:54:03 UTC ++++ command/Makefile @@ -16,6 +16,10 @@ CXXFLAGS ?= -g -rdynamic -O3 -funroll-lo PKG-CONFIG ?= pkg-config STRIP ?= strip Index: multimedia/vdr-plugin-markad/files/patch-command_decoder.h =================================================================== --- multimedia/vdr-plugin-markad/files/patch-command_decoder.h +++ multimedia/vdr-plugin-markad/files/patch-command_decoder.h @@ -1,36 +1,6 @@ -diff -urN markad-0.1.4.old/command/decoder.cpp markad-0.1.4/command/decoder.cpp ---- markad-0.1.4.old/command/decoder.cpp 2013-06-17 21:52:44.333367552 +0200 -+++ markad-0.1.4/command/decoder.cpp 2013-06-17 21:53:03.708366863 +0200 -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - - #include "decoder.h" - -@@ -172,7 +173,7 @@ - - if (video_codec) - { -- video_context = avcodec_alloc_context(); -+ video_context = avcodec_alloc_context3(NULL); - if (video_context) - { - if (video_codec->capabilities & CODEC_CAP_TRUNCATED) -@@ -321,7 +322,7 @@ - { - avcodec_flush_buffers(video_context); - AVCodecContext *dest; -- dest=avcodec_alloc_context(); -+ dest=avcodec_alloc_context3(NULL); - if (dest) - { - if (avcodec_copy_context(dest,video_context)!=0) ret=false; -diff -urN markad-0.1.4.old/command/decoder.h markad-0.1.4/command/decoder.h ---- markad-0.1.4.old/command/decoder.h 2013-06-17 21:52:44.333367552 +0200 -+++ markad-0.1.4/command/decoder.h 2013-06-17 21:53:03.708366863 +0200 -@@ -18,6 +18,7 @@ +--- command/decoder.h.orig 2012-02-24 20:08:34 UTC ++++ command/decoder.h +@@ -18,6 +18,7 @@ extern "C" #include #else #include Index: multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp =================================================================== --- multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp +++ multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp @@ -1,6 +1,6 @@ ---- a/command/decoder.cpp -+++ b/command/decoder.cpp -@@ -6,7 +6,12 @@ +--- command/decoder.cpp.orig 2012-04-02 19:41:15 UTC ++++ command/decoder.cpp +@@ -6,11 +6,17 @@ */ #include @@ -13,15 +13,20 @@ #include #include #include -@@ -107,6 +112,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH - noticeERRMP2=false; - noticeERRAC3=false; + #include ++#include + + #include "decoder.h" + +@@ -113,6 +119,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH + + noticeERRVID=false; +#ifndef __FreeBSD__ cpu_set_t cpumask; uint len = sizeof(cpumask); - int cpucount; -@@ -118,6 +124,12 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH + int cpucount=1; +@@ -120,6 +127,12 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH { cpucount=CPU_COUNT(&cpumask); } @@ -34,3 +39,127 @@ if (Threads==-1) { +@@ -151,28 +164,28 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH + } + + video_codec=NULL; +- CodecID video_codecid; ++ AVCodecID video_codecid; + + if (useH264) + { +- video_codecid=CODEC_ID_H264; ++ video_codecid=AV_CODEC_ID_H264; + } + else + { +- video_codecid=CODEC_ID_MPEG2VIDEO_XVMC; ++ video_codecid=AV_CODEC_ID_MPEG2VIDEO_XVMC; + } + + video_codec = avcodec_find_decoder(video_codecid); +- if ((!video_codec) && (video_codecid==CODEC_ID_MPEG2VIDEO_XVMC)) ++ if ((!video_codec) && (video_codecid==AV_CODEC_ID_MPEG2VIDEO_XVMC)) + { + // fallback to MPEG2VIDEO +- video_codecid=CODEC_ID_MPEG2VIDEO; ++ video_codecid=AV_CODEC_ID_MPEG2VIDEO; + video_codec=avcodec_find_decoder(video_codecid); + } + + if (video_codec) + { +- video_context = avcodec_alloc_context(); ++ video_context = avcodec_alloc_context3(NULL); + if (video_context) + { + if (video_codec->capabilities & CODEC_CAP_TRUNCATED) +@@ -183,7 +196,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH + + av_log_set_level(AV_LOG_FATAL); // silence decoder output + +- if (video_codecid==CODEC_ID_H264) ++ if (video_codecid==AV_CODEC_ID_H264) + { + video_context->flags2|=CODEC_FLAG2_CHUNKS; // needed for H264! + } +@@ -198,15 +211,15 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH + #else + int ret=avcodec_open(video_context, video_codec); + #endif +- if ((ret < 0) && (video_codecid==CODEC_ID_MPEG2VIDEO_XVMC)) ++ if ((ret < 0) && (video_codecid==AV_CODEC_ID_MPEG2VIDEO_XVMC)) + { + // fallback to MPEG2VIDEO +- video_codecid=CODEC_ID_MPEG2VIDEO; ++ video_codecid=AV_CODEC_ID_MPEG2VIDEO; + video_codec=avcodec_find_decoder(video_codecid); + if (video_codec) + { + video_context->codec_type=AVMEDIA_TYPE_UNKNOWN; +- video_context->codec_id=CODEC_ID_NONE; ++ video_context->codec_id=AV_CODEC_ID_NONE; + video_context->codec_tag=0; + memset(video_context->codec_name,0,sizeof(video_context->codec_name)); + #if LIBAVCODEC_VERSION_INT >= ((53<<16)+(5<<8)+0) +@@ -225,13 +238,13 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH + { + switch (video_codecid) + { +- case CODEC_ID_H264: ++ case AV_CODEC_ID_H264: + esyslog("could not open codec for H264"); + break; +- case CODEC_ID_MPEG2VIDEO_XVMC: ++ case AV_CODEC_ID_MPEG2VIDEO_XVMC: + esyslog("could not open codec MPEG2 (XVMC)"); + break; +- case CODEC_ID_MPEG2VIDEO: ++ case AV_CODEC_ID_MPEG2VIDEO: + esyslog("could not open codec MPEG2"); + break; + default: +@@ -256,7 +269,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH + } + #endif + +- video_frame = avcodec_alloc_frame(); ++ video_frame = av_frame_alloc(); + if (!video_frame) + { + esyslog("could not allocate frame"); +@@ -286,13 +299,13 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH + { + switch (video_codecid) + { +- case CODEC_ID_H264: ++ case AV_CODEC_ID_H264: + esyslog("codec for H264 not found"); + break; +- case CODEC_ID_MPEG2VIDEO_XVMC: ++ case AV_CODEC_ID_MPEG2VIDEO_XVMC: + esyslog("codec for MPEG2 (XVMC) not found"); + break; +- case CODEC_ID_MPEG2VIDEO: ++ case AV_CODEC_ID_MPEG2VIDEO: + esyslog("codec for MPEG2 not found"); + break; + default: +@@ -321,7 +334,7 @@ bool cMarkAdDecoder::Clear() + { + avcodec_flush_buffers(video_context); + AVCodecContext *dest; +- dest=avcodec_alloc_context(); ++ dest=avcodec_alloc_context3(NULL); + if (dest) + { + if (avcodec_copy_context(dest,video_context)!=0) ret=false; +@@ -384,7 +397,7 @@ bool cMarkAdDecoder::DecodeVideo(MarkAdC + if (!video_frame) return false; + maContext->Video.Data.Valid=false; + +- if ((video_context->codec_id==CODEC_ID_H264) && (!video_context->skip_frame)) ++ if ((video_context->codec_id==AV_CODEC_ID_H264) && (!video_context->skip_frame)) + { + // with H264 we cannot set skip_frame just to NONKEY, is depends on Interlaced... + if (maContext->Video.Info.Height) Index: multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp =================================================================== --- multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp +++ multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp @@ -1,5 +1,5 @@ ---- a/command/markad-standalone.cpp -+++ b/command/markad-standalone.cpp +--- command/markad-standalone.cpp.orig 2012-09-11 11:06:28 UTC ++++ command/markad-standalone.cpp @@ -24,7 +24,13 @@ #include #include Index: multimedia/vdr-plugin-markad/files/patch-plugin-Makefile =================================================================== --- multimedia/vdr-plugin-markad/files/patch-plugin-Makefile +++ multimedia/vdr-plugin-markad/files/patch-plugin-Makefile @@ -1,22 +0,0 @@ ---- a/plugin/Makefile -+++ b/plugin/Makefile -@@ -99,11 +99,19 @@ i18n: $(I18Nmsgs) $(I18Npot) - ### Targets: - - install: all -+ifdef FREEBSD -+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) -+else - cp --remove-destination libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) -+endif - - libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -o $@ -+ifdef FREEBSD -+ cp -f libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) -+else - cp --remove-destination libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) -+endif - - clean: - @-rm -f $(OBJS) $(DEPFILE) *.so *.so.* *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot Index: multimedia/vdr-plugin-markad/files/patch-plugin-markad.cpp =================================================================== --- multimedia/vdr-plugin-markad/files/patch-plugin-markad.cpp +++ multimedia/vdr-plugin-markad/files/patch-plugin-markad.cpp @@ -1,19 +0,0 @@ ---- a/plugin/markad.cpp -+++ b/plugin/markad.cpp -@@ -15,8 +15,16 @@ - - #include "markad.h" - -+#ifdef PREFIX -+#define DEF_BINDIR PREFIX "/bin" -+#else - #define DEF_BINDIR "/usr/bin" -+#endif -+#ifdef DATADIR -+#define DEF_LOGODIR DATADIR "/logos" -+#else - #define DEF_LOGODIR "/var/lib/markad" -+#endif - - cPluginMarkAd::cPluginMarkAd(void) - { Index: multimedia/vdr-plugin-markad/files/patch-plugin-status.cpp =================================================================== --- multimedia/vdr-plugin-markad/files/patch-plugin-status.cpp +++ multimedia/vdr-plugin-markad/files/patch-plugin-status.cpp @@ -1,113 +0,0 @@ ---- a/plugin/status.cpp -+++ b/plugin/status.cpp -@@ -6,6 +6,12 @@ - */ - - #include -+#ifdef __FreeBSD__ -+#include -+#include -+#include -+#include -+#endif - - #include "status.h" - -@@ -135,7 +141,12 @@ bool cStatusMarkAd::LogoExists(const cha - cTimer *timer=NULL; - for (cTimer *Timer = Timers.First(); Timer; Timer=Timers.Next(Timer)) - { -+#if 1 -+ if (Timer->Recording() && -+ (!strcmp(Timer->ToDescr(),Name) || !strcmp(Timer->File(),Name))) -+#else - if (Timer->Recording() && (!strcmp(Timer->ToDescr(),Name))) -+#endif - { - timer=Timer; - break; -@@ -150,6 +161,16 @@ bool cStatusMarkAd::LogoExists(const cha - if (!chan) return false; - char *cname=strdup(chan->Name()); - if (!cname) return false; -+#if 1 -+ int len = strlen(cname); -+ if (len > 5 && -+ (!strcmp(cname + len - 4, " (A)") || -+ !strcmp(cname + len - 4, " (C)") || -+ !strcmp(cname + len - 4, " (S)") || -+ !strcmp(cname + len - 4, " (T)") || -+ !strcmp(cname + len - 4, " (I)"))) -+ cname[len - 4] = '\0'; -+#endif - for (int i=0; i<(int) strlen(cname); i++) - { - if (cname[i]==' ') cname[i]='_'; -@@ -233,6 +254,7 @@ bool cStatusMarkAd::getStatus(int Positi - if (Position<0) return false; - if (!recs[Position].Pid) return false; - int ret=0; -+#ifndef __FreeBSD__ - char procname[256]=""; - snprintf(procname,sizeof(procname),"/proc/%i/stat",recs[Position].Pid); - FILE *fstat=fopen(procname,"r"); -@@ -252,6 +274,59 @@ bool cStatusMarkAd::getStatus(int Positi - } - } - return (ret==1); -+#else -+ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, recs[Position].Pid}; -+ size_t len = 0; -+ struct kinfo_proc *kipp = NULL; -+ if (sysctl(mib, sizeof(mib)/sizeof(*mib), NULL, &len, NULL, 0) >= 0 && -+ (kipp = (kinfo_proc *)malloc(len)) != NULL && -+ sysctl(mib, sizeof(mib)/sizeof(*mib), kipp, &len, NULL, 0) >= 0 && -+ len == sizeof(*kipp) && kipp->ki_structsize == sizeof(*kipp) && -+ kipp->ki_pid == recs[Position].Pid) { -+ -+ int tdflags = kipp->ki_tdflags; /* XXXKSE */ -+ -+ ret = 1; -+ -+ switch (kipp->ki_stat) { -+ -+ case SSTOP: -+ recs[Position].Status = 'T'; -+ break; -+ -+ case SSLEEP: -+ if (tdflags & TDF_SINTR) /* interruptable (long) */ -+ recs[Position].Status = /* kipp->ki_slptime >= MAXSLP ? 'I' : */ 'S'; -+ else -+ recs[Position].Status = 'D'; -+ break; -+ -+ case SRUN: -+ case SIDL: -+ recs[Position].Status = 'R'; -+ break; -+ -+ case SWAIT: -+ recs[Position].Status = 'W'; -+ break; -+ -+ case SLOCK: -+ recs[Position].Status = 'L'; -+ break; -+ -+ case SZOMB: -+ recs[Position].Status = 'Z'; -+ break; -+ -+ default: -+ recs[Position].Status = '?'; -+ } -+ } else { -+ Remove(Position); -+ } -+ free(kipp); -+ return ret; -+#endif - } - - bool cStatusMarkAd::getPid(int Position) Index: multimedia/vdr-plugin-markad/files/patch-plugin_Makefile =================================================================== --- multimedia/vdr-plugin-markad/files/patch-plugin_Makefile +++ multimedia/vdr-plugin-markad/files/patch-plugin_Makefile @@ -1,5 +1,5 @@ ---- a/plugin/Makefile -+++ b/plugin/Makefile +--- plugin/Makefile.orig 2012-02-13 19:32:27 UTC ++++ plugin/Makefile @@ -99,11 +99,19 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets: Index: multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp =================================================================== --- multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp +++ multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp @@ -1,5 +1,5 @@ ---- a/plugin/markad.cpp -+++ b/plugin/markad.cpp +--- plugin/markad.cpp.orig 2012-09-10 12:45:12 UTC ++++ plugin/markad.cpp @@ -15,8 +15,16 @@ #include "markad.h" Index: multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp =================================================================== --- multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp +++ multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp @@ -1,5 +1,5 @@ ---- a/plugin/status.cpp -+++ b/plugin/status.cpp +--- plugin/status.cpp.orig 2012-09-09 23:00:32 UTC ++++ plugin/status.cpp @@ -6,6 +6,12 @@ */ Index: multimedia/vdr-plugin-markad/files/patch-vdr-markad-0.1.4-libav9 =================================================================== --- multimedia/vdr-plugin-markad/files/patch-vdr-markad-0.1.4-libav9 +++ multimedia/vdr-plugin-markad/files/patch-vdr-markad-0.1.4-libav9 @@ -1,40 +0,0 @@ -diff -urN markad-0.1.4.old/command/decoder.cpp markad-0.1.4/command/decoder.cpp ---- markad-0.1.4.old/command/decoder.cpp 2013-06-17 21:52:44.333367552 +0200 -+++ markad-0.1.4/command/decoder.cpp 2013-06-17 21:53:03.708366863 +0200 -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - - #include "decoder.h" - -@@ -172,7 +173,7 @@ - - if (video_codec) - { -- video_context = avcodec_alloc_context(); -+ video_context = avcodec_alloc_context3(NULL); - if (video_context) - { - if (video_codec->capabilities & CODEC_CAP_TRUNCATED) -@@ -321,7 +322,7 @@ - { - avcodec_flush_buffers(video_context); - AVCodecContext *dest; -- dest=avcodec_alloc_context(); -+ dest=avcodec_alloc_context3(NULL); - if (dest) - { - if (avcodec_copy_context(dest,video_context)!=0) ret=false; -diff -urN markad-0.1.4.old/command/decoder.h markad-0.1.4/command/decoder.h ---- markad-0.1.4.old/command/decoder.h 2013-06-17 21:52:44.333367552 +0200 -+++ markad-0.1.4/command/decoder.h 2013-06-17 21:53:03.708366863 +0200 -@@ -18,6 +18,7 @@ - #include - #else - #include -+#include - #endif - - #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)