From 17c5b4169e50c127991cb20d9f8050a5e47b18c2 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 8 Nov 2003 18:00:00 +0100 Subject: Version 1.2.6pre5 - Added cDevice::GetSTC() (suggested by Sven Goethel). - Added Asia-Pacific satellites to 'sources.conf' (thanks to Richard Scobie). - Added North American satellites to 'sources.conf' (thanks to Luke Jenkins). - Fixed getting the list of recordings in case VDR is started from a directory where it doesn't have access to (thanks to Dirk Mueller). --- CONTRIBUTORS | 11 +++++++++++ HISTORY | 8 ++++++++ PLUGINS.html | 9 ++++++++- config.h | 4 ++-- device.c | 7 ++++++- device.h | 6 +++++- dvbdevice.c | 17 ++++++++++++++++- dvbdevice.h | 5 +++-- newplugin | 2 +- recording.c | 6 +++--- sources.conf | 20 ++++++++++++++++++++ 11 files changed, 83 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 1a36bdf..f988ff4 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -606,6 +606,7 @@ Thomas Sailer Sven Goethel for making switching audio channels work without stopping/restarting the DMX for fixing initializing the highlight area in cDvbSpuDecoder + for suggesting to add cDevice::GetSTC() Jan Rieger for suggestions and testing raw keyboard input @@ -849,3 +850,13 @@ Thomas Rausch Thomas v. Keller for reporting a crash in case the CAM connection fails while a CAM menu is being presented + +Richard Scobie + for adding Asia-Pacific satellites to 'sources.conf' + +Luke Jenkins + for adding North American satellites to 'sources.conf' + +Dirk Mueller + for fixing getting the list of recordings in case VDR is started from a directory + where it doesn't have access to diff --git a/HISTORY b/HISTORY index 143a443..4bb06ea 100644 --- a/HISTORY +++ b/HISTORY @@ -2451,3 +2451,11 @@ Video Disk Recorder Revision History is being presented (thanks to Thomas v. Keller for reportign this one). - Added missing 'const' to some cChannel member functions (thanks to Torsten Herz). + +2003-11-08: Version 1.2.6pre5 + +- Added cDevice::GetSTC() (suggested by Sven Goethel). +- Added Asia-Pacific satellites to 'sources.conf' (thanks to Richard Scobie). +- Added North American satellites to 'sources.conf' (thanks to Luke Jenkins). +- Fixed getting the list of recordings in case VDR is started from a directory + where it doesn't have access to (thanks to Dirk Mueller). diff --git a/PLUGINS.html b/PLUGINS.html index 913a991..95ba5d7 100644 --- a/PLUGINS.html +++ b/PLUGINS.html @@ -6,7 +6,7 @@

The VDR Plugin System

-
Version 1.2
+
Version 1.2.6

Copyright © 2003 Klaus Schmidinger
@@ -14,6 +14,10 @@ Copyright © 2003 Klaus Schmidinger
www.cadsoft.de/vdr

+
  +Important modifications introduced in version 1.2.6 are marked like this. +
+

VDR provides an easy to use plugin interface that allows additional functionality to be added to the program by implementing a dynamically loadable library file. This interface allows programmers to develop additional functionality for VDR completely @@ -1318,6 +1322,9 @@ The functions to implement replaying capabilites are virtual bool HasDecoder(void) const; virtual bool CanReplay(void) const; virtual bool SetPlayMode(ePlayMode PlayMode); +
  +virtual int64_t GetSTC(void); +
virtual void TrickSpeed(int Speed); virtual void Clear(void); virtual void Play(void); diff --git a/config.h b/config.h index 3771ce1..ffe7794 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.176.1.3 2003/10/26 13:30:36 kls Exp $ + * $Id: config.h 1.176.1.4 2003/11/07 15:12:42 kls Exp $ */ #ifndef __CONFIG_H @@ -19,7 +19,7 @@ #include "device.h" #include "tools.h" -#define VDRVERSION "1.2.6pre4" +#define VDRVERSION "1.2.6pre5" #define VDRVERSNUM 10206 // Version * 10000 + Major * 100 + Minor #define MAXPRIORITY 99 diff --git a/device.c b/device.c index b409ac0..9a698ea 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 1.47 2003/08/15 12:34:36 kls Exp $ + * $Id: device.c 1.47.1.1 2003/11/07 13:16:12 kls Exp $ */ #include "device.h" @@ -498,6 +498,11 @@ bool cDevice::SetPlayMode(ePlayMode PlayMode) return false; } +int64_t cDevice::GetSTC(void) +{ + return -1; +} + void cDevice::TrickSpeed(int Speed) { } diff --git a/device.h b/device.h index 144adfb..d73864f 100644 --- a/device.h +++ b/device.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.h 1.34 2003/08/15 13:05:50 kls Exp $ + * $Id: device.h 1.35 2003/11/07 13:15:45 kls Exp $ */ #ifndef __DEVICE_H @@ -320,6 +320,10 @@ protected: ///< Sets the device into the given play mode. ///< \return true if the operation was successful. public: + virtual int64_t GetSTC(void); + ///< Gets the current System Time Counter, which can be used to + ///< synchronize audio and video. If this device is unable to + ///< provide the STC, -1 will be returned. virtual void TrickSpeed(int Speed); ///< Sets the device into a mode where replay is done slower. ///< Every single frame shall then be displayed the given number of diff --git a/dvbdevice.c b/dvbdevice.c index ebb236e..4e7b50c 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 1.67.1.2 2003/10/24 14:32:20 kls Exp $ + * $Id: dvbdevice.c 1.67.1.3 2003/11/07 13:24:49 kls Exp $ */ #include "dvbdevice.h" @@ -326,6 +326,7 @@ cDvbDevice::cDvbDevice(int n) fd_osd = DvbOpen(DEV_DVB_OSD, n, O_RDWR); fd_video = DvbOpen(DEV_DVB_VIDEO, n, O_RDWR | O_NONBLOCK); fd_audio = DvbOpen(DEV_DVB_AUDIO, n, O_RDWR | O_NONBLOCK); + fd_stc = DvbOpen(DEV_DVB_DEMUX, n, O_RDWR); // The DVR device (will be opened and closed as needed): @@ -869,6 +870,20 @@ bool cDvbDevice::SetPlayMode(ePlayMode PlayMode) return true; } +int64_t cDvbDevice::GetSTC(void) +{ + if (fd_stc >= 0) { + struct dmx_stc stc; + stc.num = 0; + if (ioctl(fd_stc, DMX_GET_STC, &stc) == -1) { + esyslog("ERROR: stc %d: %m", CardIndex() + 1); + return -1; + } + return stc.stc / stc.base; + } + return -1; +} + void cDvbDevice::TrickSpeed(int Speed) { if (fd_video >= 0) diff --git a/dvbdevice.h b/dvbdevice.h index 78df221..56f1c2b 100644 --- a/dvbdevice.h +++ b/dvbdevice.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.h 1.23 2003/10/04 11:54:50 kls Exp $ + * $Id: dvbdevice.h 1.24 2003/11/07 13:17:13 kls Exp $ */ #ifndef __DVBDEVICE_H @@ -38,7 +38,7 @@ public: ///< \return True if any devices are available. private: fe_type_t frontendType; - int fd_osd, fd_audio, fd_video, fd_dvr; + int fd_osd, fd_audio, fd_video, fd_dvr, fd_stc; int OsdDeviceHandle(void) const { return fd_osd; } protected: virtual void MakePrimaryDevice(bool On); @@ -107,6 +107,7 @@ protected: virtual bool CanReplay(void) const; virtual bool SetPlayMode(ePlayMode PlayMode); public: + virtual int64_t GetSTC(void); virtual void TrickSpeed(int Speed); virtual void Clear(void); virtual void Play(void); diff --git a/newplugin b/newplugin index e474266..a898524 100755 --- a/newplugin +++ b/newplugin @@ -261,7 +261,7 @@ The next steps you should perform now are: sub CreateFile { my ($Name, $Content) = @_; - open(FILE, ">$PLUGINDIR/$Name") || die "$Name: $!\n"; + open(FILE, ">$PLUGINDIR/$Name") || die "$Name: V126pre5 $!\n"; print FILE $Content; close(FILE); } diff --git a/recording.c b/recording.c index 13aa417..a181ff4 100644 --- a/recording.c +++ b/recording.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.c 1.85 2003/10/24 14:47:14 kls Exp $ + * $Id: recording.c 1.86 2003/11/08 15:25:35 kls Exp $ */ #include "recording.h" @@ -46,7 +46,7 @@ #define SUMMARYFILESUFFIX "/summary.vdr" #define MARKSFILESUFFIX "/marks.vdr" -#define FINDCMD "find %s -follow -type d -name '%s' 2> /dev/null" +#define FINDCMD "cd '%s' && find '%s' -follow -type d -name '%s' 2> /dev/null" #define MINDISKSPACE 1024 // MB @@ -621,7 +621,7 @@ bool cRecordings::Load(bool Deleted) Clear(); bool result = false; char *cmd = NULL; - asprintf(&cmd, FINDCMD, VideoDirectory, Deleted ? "*" DELEXT : "*" RECEXT); + asprintf(&cmd, FINDCMD, VideoDirectory, VideoDirectory, Deleted ? "*" DELEXT : "*" RECEXT); FILE *p = popen(cmd, "r"); if (p) { char *s; diff --git a/sources.conf b/sources.conf index 90a7573..3ba2f50 100644 --- a/sources.conf +++ b/sources.conf @@ -55,6 +55,15 @@ S76.5E Apstar S78.5E Thaicom 2/3 S80E Express 6A S83E Insat 2E/3B +S100.5E Asiasat 2 +S105.5E Asiasat 3S +S113E Palapa C2 +S152E Optus B3 +S156E Optus C1 +S160E Optus B1 +S166E PAS 8 +S169E PAS 2 +S180E Intelsat 701 S1W Thor 2/3 & Intelsat 707 S4W Amos 1 @@ -80,6 +89,17 @@ S53W Intelsat 706 S55.5W Intelsat 805 S58W PAS 9 S61.5W Echostar 3 +S79W AMC5 +S82W Nimiq 2 +S87W AMC3 +S91W Nimiq 1 +S97W Telestar 5 +S105W AMC2 +S110W Echostar 6/8 +S119W Echostar 7 +S121W Echostar 9 +S148W Echostar 1/2 +S157W Echostar 4 # Cable -- cgit v1.2.3