summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2003-09-14 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2003-09-14 18:00:00 +0200
commit3feeb907f73f0b8ebc067f4b5686dd543121c1f1 (patch)
tree6efc95a5beaf9d1736af42bfbc67ac6f2c53a1c2
parentbff4529f013605e0456fa12e4c0468ffafaa4289 (diff)
downloadvdr-patch-lnbsharing-3feeb907f73f0b8ebc067f4b5686dd543121c1f1.tar.gz
vdr-patch-lnbsharing-3feeb907f73f0b8ebc067f4b5686dd543121c1f1.tar.bz2
Version 1.2.5pre3vdr-1.2.5pre3
- Fixed dropping out of replay mode while viewing a recording that is still going on (thanks to Oliver Endriss for reporting and helping to debug this one). - Fixed handling ':' characters in channel names when reading channels.conf (thanks to Reinhard Nissl for reporting this one). - Fixed the URL to the 'Doxygen' tool in INSTALL (thanks to Dirk Essl). - Removed the obsolete chapter "Stopping a recording on the primary DVB interface" from MANUAL. - Completed Dutch language texts (thanks to Hans Dingemans). - Made 'diseqc.conf' a required file only if Setup.DiSEqC is activated (thanks to Thomas Schmidt). - VDR now starts up even if 'keymacros.conf' references a plugin that is currently not loaded (suggested by Alexander Wetzel). - Fixed checking for VIDEO_STREAM_S in cRemux::SetBrokenLink() (thanks to Oliver Endriss). - Added 'repeat' function to keys '7' and '9' ("jump to mark") in replay mode (suggested by Oliver Endriss). - Made cOsdMenu::Display() virtual, which allows plugins to do some additional processing after calling the base class function (suggested by Jan Rieger). - Updated 'ca.conf' (thanks to Marco Franceschetti).
-rw-r--r--CONTRIBUTORS22
-rw-r--r--HISTORY23
-rw-r--r--INSTALL2
-rw-r--r--MANUAL14
-rw-r--r--ca.conf14
-rw-r--r--channels.c8
-rw-r--r--config.h4
-rw-r--r--i18n.c64
-rw-r--r--keys.c5
-rw-r--r--menu.c4
-rw-r--r--osd.h4
-rw-r--r--recording.c3
-rw-r--r--recording.h4
-rw-r--r--remux.c4
-rw-r--r--vdr.c4
15 files changed, 107 insertions, 72 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index e680247..04e01a2 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -491,6 +491,10 @@ Oliver Endriss <o.endriss@gmx.de>
for fixing I/O handling in case an explicit controlling terminal is given
for fixing displaying still pictures, now using the driver's VIDEO_STILLPICTURE call
directly
+ for reporting and helping to debug dropping out of replay mode while viewing a
+ recording that is still going on
+ for fixing checking for VIDEO_STREAM_S in cRemux::SetBrokenLink()
+ for suggesting to add 'repeat' function keys '7' and '9'
Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf'
@@ -597,6 +601,8 @@ Sven Goethel <sgoethel@jausoft.com>
Jan Rieger <jan@ricomp.de>
for suggestions and testing raw keyboard input
+ for suggesting to make cOsdMenu::Display() virtual, which allows plugins to do some
+ additional processing after calling the base class function
Walter Stroebel <walter.stroebel@lifeline.nl>
for introducing "Doxygen" to document the VDR source code
@@ -745,6 +751,7 @@ Jon Burgess <mplayer@jburgess.uklinux.net>
Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
for reporting a crash when cancelling a newly created timer
+ for making 'diseqc.conf' a required file only if Setup.DiSEqC is activated
Michael Walle <michael.walle@web.de>
for reporting a bug in channel switching after Left/Right has been pressed
@@ -766,6 +773,8 @@ Ernst Fürst <ernstfuerst@swissonline.ch>
Reinhard Nissl <rnissl@gmx.de>
for reporting a name clash because of function crc32() in libdtv/libsi/si_parser.c
when using other libraries that also implement a function by that name
+ for reporting a bug in handling ':' characters in channel names when reading
+ channels.conf
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
@@ -799,3 +808,16 @@ Christoph Hermanns <christoph.hermanns@gmx.de>
Oskar Signell <oskar@signell.net>
for pointing out a problem with setting an editing mark while in "Pause" mode,
where replay was not immediately positioned to the marked frame
+
+Dirk Essl <de@floydworld.de>
+ for reporting a wrong URL to the 'Doxygen' tool in INSTALL
+
+Hans Dingemans <hans.dingemans@tacticalops.nl>
+ for translating OSD texts to the Dutch language
+
+Alexander Wetzel <alexander.wetzel@web.de>
+ for suggesting to let VDR start up even if 'keymacros.conf' references a plugin
+ that is currently not loaded
+
+Marco Franceschetti <ordaz@quipo.it>
+ for updating 'ca.conf'
diff --git a/HISTORY b/HISTORY
index 3a6db48..2e21e14 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2375,3 +2375,26 @@ Video Disk Recorder Revision History
- The DVB devices no longer send CA descriptors to the CAM while the EPG scanner
is active (sometimes the CAMs got irritated when the device tuned to channels
they couldn't handle).
+
+2003-09-14: Version 1.2.5pre3
+
+- Fixed dropping out of replay mode while viewing a recording that is still
+ going on (thanks to Oliver Endriss for reporting and helping to debug this
+ one).
+- Fixed handling ':' characters in channel names when reading channels.conf
+ (thanks to Reinhard Nissl for reporting this one).
+- Fixed the URL to the 'Doxygen' tool in INSTALL (thanks to Dirk Essl).
+- Removed the obsolete chapter "Stopping a recording on the primary DVB interface"
+ from MANUAL.
+- Completed dutch language texts (thanks to Hans Dingemans).
+- Made 'diseqc.conf' a required file only if Setup.DiSEqC is activated (thanks to
+ Thomas Schmidt).
+- VDR now starts up even if 'keymacros.conf' references a plugin that is currently
+ not loaded (suggested by Alexander Wetzel).
+- Fixed checking for VIDEO_STREAM_S in cRemux::SetBrokenLink() (thanks to Oliver
+ Endriss).
+- Added 'repeat' function keys '7' and '9' ("jump to mark") in replay mode
+ (suggested by Oliver Endriss).
+- Made cOsdMenu::Display() virtual, which allows plugins to do some additional
+ processing after calling the base class function (suggested by Jan Rieger).
+- Updated 'ca.conf' (thanks to Marco Franceschetti).
diff --git a/INSTALL b/INSTALL
index 3143723..a49acfc 100644
--- a/INSTALL
+++ b/INSTALL
@@ -382,7 +382,7 @@ Generating source code documentation:
-------------------------------------
You can do a 'make srcdoc' to generate source code documentation using the
-Doxygen tool. To do so you need the Doxygen package from http://www.doxygen.src
+Doxygen tool. To do so you need the Doxygen package from http://www.doxygen.org
and the Graphviz package from http://www.research.att.com/sw/tools/graphviz.
After installing these two packages you can do 'make srcdoc' and then use your
HTML browser to read srcdoc/html/index.html.
diff --git a/MANUAL b/MANUAL
index 3abf7ee..29eb334 100644
--- a/MANUAL
+++ b/MANUAL
@@ -393,20 +393,6 @@ Version 1.2
A timer can also be programmed by pressing the "Red" button on the "Schedule",
"Now", "Next" or "Event" menus.
-* Stopping a recording on the primary DVB interface
-
- If the primary DVB interface is currently recording, the user can't switch
- the channel or replay another recording on that interface. However, if there
- is an other DVB interface that is currently not recording and provides the
- necessary conditional access facilities to continue the recording that is
- currently being performed on the primary DVB interface, the "VDR" menu will
- contain an option that allows you to stop recording on the primary DVB
- interface. Select that option to stop the ongoing recording and thus free the
- primary DVB interface to allow channel switching or replaying. The interrupted
- recording will be continued on an other free DVB interface. There may be a
- short discontinuity at that point when replaying that recording later, so you
- may want to place such an action for instance in a commercial break.
-
* Parameters in the "Setup" menu
Select "Setup" from the "VDR" menu to enter the setup menu. From there you can
diff --git a/ca.conf b/ca.conf
index fe3d758..49bff19 100644
--- a/ca.conf
+++ b/ca.conf
@@ -31,6 +31,7 @@
404 Parabole Reunion
405 Hrvatska radiotelevizija
406 RTV Slovenija
+407 Visat
# Viaccess 2
@@ -52,6 +53,7 @@
# Nagravision
901 PolSat Cyfrowy
+902 TV Cabo
# Irdeto 2
@@ -68,13 +70,9 @@
10001 AB Sat France
10002 TPS France
-# Videoguard, Mediaguard 2, Irdeto 1
+# Videoguard, Mediaguard 2, Irdeto 2
-11001 Stream TV Italy
-
-# Videoguard, Mediaguard 2, Cryptoworks
-
-12001 Tele+ Digitale
+12001 Sky Italia
# Mediaguard 1, Irdeto 1
@@ -84,9 +82,9 @@
14001 Canal Satellite France
-# Mediaguard 1, Mediaguard 2, Viaccess 1, Cryptoworks
+# Mediaguard 2, Nagravision
-15001 Canal Satelite Digital Espana
+15001 Digital+ Espana
# Mediaguard 2, Cryptoworks
diff --git a/channels.c b/channels.c
index 5857729..6ff7188 100644
--- a/channels.c
+++ b/channels.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: channels.c 1.13 2003/08/16 09:12:26 kls Exp $
+ * $Id: channels.c 1.14 2003/09/09 18:55:26 kls Exp $
*/
#include "channels.h"
@@ -315,6 +315,7 @@ const char *cChannel::ToText(void)
bool cChannel::Parse(const char *s, bool AllowNonUniqueID)
{
+ bool ok = true;
if (*s == ':') {
groupSep = true;
if (*++s == '@' && *++s) {
@@ -346,7 +347,7 @@ bool cChannel::Parse(const char *s, bool AllowNonUniqueID)
vpid = ppid = 0;
apid1 = apid2 = 0;
dpid1 = dpid2 = 0;
- bool ok = false;
+ ok = false;
if (parambuf && sourcebuf && vpidbuf && apidbuf) {
ok = StringToParameters(parambuf) && (source = cSource::FromString(sourcebuf)) >= 0;
char *p = strchr(vpidbuf, '+');
@@ -372,13 +373,12 @@ bool cChannel::Parse(const char *s, bool AllowNonUniqueID)
esyslog("ERROR: channel data not unique!");
return false;
}
- return ok;
}
else
return false;
}
strreplace(name, '|', ':');
- return true;
+ return ok;
}
bool cChannel::Save(FILE *f)
diff --git a/config.h b/config.h
index b65b265..d09019d 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.171 2003/09/05 13:18:38 kls Exp $
+ * $Id: config.h 1.173 2003/09/14 10:37:49 kls Exp $
*/
#ifndef __CONFIG_H
@@ -19,7 +19,7 @@
#include "device.h"
#include "tools.h"
-#define VDRVERSION "1.2.5pre2"
+#define VDRVERSION "1.2.5pre3"
#define VDRVERSNUM 10205 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99
diff --git a/i18n.c b/i18n.c
index 512c948..fc0e9e3 100644
--- a/i18n.c
+++ b/i18n.c
@@ -4,13 +4,13 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: i18n.c 1.133 2003/08/26 15:27:25 kls Exp $
+ * $Id: i18n.c 1.134 2003/09/11 13:51:56 kls Exp $
*
* Translations provided by:
*
* Slovenian Miha Setina <mihasetina@softhome.net> and Matjaz Thaler <matjaz.thaler@guest.arnes.si>
* Italian Alberto Carraro <bertocar@tin.it> and Antonio Ospite <ospite@studenti.unina.it>
- * Dutch Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>
+ * Dutch Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com> and Hans Dingemans <hans.dingemans@tacticalops.nl>
* Portuguese Paulo Lopes <pmml@netvita.pt>
* French Jean-Claude Repetto <jc@repetto.org>, Olivier Jacques <jacquesolivier@hotmail.com> and Gregoire Favre <greg@magma.unil.ch>
* Norwegian Jørgen Tvedt <pjtvedt@online.no> and Truls Slevigen <truls@slevigen.no>
@@ -212,7 +212,7 @@ const tI18nPhrase Phrases[] = {
"Befehle für Aufzeichnungen",
"Ukazi za snemanje",
"Comandi di Registrazione",
- "",// TODO
+ "Opname commando's",
"",// TODO
"Commandes d'enregistrement",
"",// TODO
@@ -672,7 +672,7 @@ const tI18nPhrase Phrases[] = {
"Einfügen",
"Vstavi",
"Inserisci",
- "",// TODO
+ "Invoegen",
"",// TODO
"Insért",
"",// TODO
@@ -689,7 +689,7 @@ const tI18nPhrase Phrases[] = {
"Überschreiben",
"Prepisi",
"Sovrascrivi",
- "",// TODO
+ "Overschrijven",
"",// TODO
"Écraser",
"",// TODO
@@ -723,7 +723,7 @@ const tI18nPhrase Phrases[] = {
"Reset",
"Reset",
"Reset",
- "",//TODO
+ "Herstart",
"",//TODO
"Réinitialisation",
"",//TODO
@@ -997,7 +997,7 @@ const tI18nPhrase Phrases[] = {
"Quelle",
"Pozicija",
"Sorgente",
- "",//TODO
+ "Bron",
"",//TODO
"Source",
"",//TODO
@@ -1594,7 +1594,7 @@ const tI18nPhrase Phrases[] = {
"Kanal nicht verfügbar!",
"Kanal ni razpolozljiv!",
"Canale non disponibile!",
- "",//TODO
+ "Kanaal niet beschikbaar",
"",//TODO
"Chaîne non disponible!",
"",//TODO
@@ -1611,7 +1611,7 @@ const tI18nPhrase Phrases[] = {
"Kanaleinstellungen sind nicht eindeutig!",
"Nastavitve kanala niso edinstvene!",
"Paramentri Canale non unici!",
- "",//TODO
+ "Kanaalinstellingen zijn niet uniek!",
"",//TODO
"Caractéristiques des chaînes ne sont pas uniques",
"",//TODO
@@ -1662,7 +1662,7 @@ const tI18nPhrase Phrases[] = {
"Keine Schnittmarken gesetzt!",
"Nobena tocka ni definirana!",
"Nessun marcatore di modifica definito!",
- "",//TODO
+ "Geen bewerkingsmarkeringen gedefinieerd!",
"",//TODO
"Pas de marques d'édition définies!",
"",//TODO
@@ -1747,7 +1747,7 @@ const tI18nPhrase Phrases[] = {
"CAM-Menü kann nicht geöffnet werden!",
"Ne morem odpreti CAM menija!",
"Impossibile aprire il menu CAM!",
- "",//TODO
+ "Kan CAM-menu niet openen!",
"",//TODO
"Impossible d'ouvrir le menu CAM!",
"",//TODO
@@ -1764,7 +1764,7 @@ const tI18nPhrase Phrases[] = {
"CAM-Reset fehlgeschlagen!",
"Ne morem resetirati CAM-a",
"Impossibile reimpostare il modulo CAM!",
- "",//TODO
+ "Kan CAM niet herstarten!",
"",//TODO
"Impossible de réinitialiser la CAM!",
"",//TODO
@@ -1781,7 +1781,7 @@ const tI18nPhrase Phrases[] = {
"CAM wurde zurückgesetzt!",
"CAM je resetiran!",
"Modulo CAM reimpostato!",
- "",//TODO
+ "CAM is herstart!",
"",//TODO
"La CAM a été réinitialisée",
"",//TODO
@@ -2412,7 +2412,7 @@ const tI18nPhrase Phrases[] = {
"Pause Priorität",
"Prioriteta pavze",
"Priorita' di pausa",
- "",// TODO
+ "Pauze prioriteit",
"",// TODO
"Priorité des pauses",
"",// TODO
@@ -2429,7 +2429,7 @@ const tI18nPhrase Phrases[] = {
"Pause Lebensdauer (d)",
"Cas pavze (d)",
"Durata pausa (gg)",
- "",// TODO
+ "Pauze levensduur (d)",
"",// TODO
"Durée de vie des pauses (j)",
"",// TODO
@@ -2497,7 +2497,7 @@ const tI18nPhrase Phrases[] = {
"Dauer der Direktaufzeichnung (min)",
"Cas direktnega snemanja (min)",
"Tempo registrazione istantanea (min)",
- "",//TODO
+ "Duur van de directe opname (min)",
"",//TODO
"Durée enregistr. immédiat (min)",
"",//TODO
@@ -2599,7 +2599,7 @@ const tI18nPhrase Phrases[] = {
"Wiedergabe ID",
"Predvajalni ID",
"Resume ID",// TODO
- "Resume ID",// TODO
+ "Hervattings ID",
"Resume ID",// TODO
"ID de reprise",
"Resume ID",// TODO
@@ -2667,7 +2667,7 @@ const tI18nPhrase Phrases[] = {
"Zap Timeout (s)",
"",// TODO
"",// TODO
- "",// TODO
+ "Zap timeout (s)",
"",// TODO
"",// TODO
"",// TODO
@@ -2925,7 +2925,7 @@ const tI18nPhrase Phrases[] = {
"('Menü' drücken zum Überspringen)",
"pritisnite 'Meni' za preskok te tipke",
"(premere 'Menu' per saltare questo tasto)",
- "",// TODO
+ "Druk 'Menu' om deze toets over te slaan",
"",// TODO
"('Menu' pour passer cette touche)",
"",// TODO
@@ -3164,7 +3164,7 @@ const tI18nPhrase Phrases[] = {
"Wiedergabe",
"Predvajaj",
"Riproduci",
- "",// TODO
+ "Weergeven",
"",// TODO
"Lecture",
"",// TODO
@@ -3181,7 +3181,7 @@ const tI18nPhrase Phrases[] = {
"Pause",
"Pavza",
"Pausa",
- "",// TODO
+ "Pauze",
"",// TODO
"Pause",
"",// TODO
@@ -3198,7 +3198,7 @@ const tI18nPhrase Phrases[] = {
"Stop",
"Ustavi",
"Stop",
- "",// TODO
+ "Stop",
"Stop",
"Stop",
"",// TODO
@@ -3215,7 +3215,7 @@ const tI18nPhrase Phrases[] = {
"Aufnehmen",
"Snemaj",
"Registra",
- "",// TODO
+ "Opnemen",
"",// TODO
"Enregistrement",
"",// TODO
@@ -3232,7 +3232,7 @@ const tI18nPhrase Phrases[] = {
"Vorlauf",
"Hitro naprej",
"Avanti Veloce",
- "",// TODO
+ "Vooruitspoelen",
"",// TODO
"Avance rapide",
"",// TODO
@@ -3249,7 +3249,7 @@ const tI18nPhrase Phrases[] = {
"Rücklauf",
"Hitro nazaj",
"Indietro Veloce",
- "",// TODO
+ "Terugspoelen",
"",// TODO
"Retour rapide",
"",// TODO
@@ -3283,7 +3283,7 @@ const tI18nPhrase Phrases[] = {
"Kanal+",
"Kanal+",
"Canale +",
- "",// TODO
+ "Kanaal+",
"",// TODO
"Chaîne+",
"",// TODO
@@ -3300,7 +3300,7 @@ const tI18nPhrase Phrases[] = {
"Kanal-",
"Kanal-",
"Canale -",
- "",// TODO
+ "Kanaal-",
"",// TODO
"Chaîne-",
"",// TODO
@@ -3403,7 +3403,7 @@ const tI18nPhrase Phrases[] = {
"aus",
"izklop",
"off",
- "",// TODO
+ "uit",
"off",
"",// TODO
"",// TODO
@@ -3420,7 +3420,7 @@ const tI18nPhrase Phrases[] = {
"keine",
"nobeden",
"nessuno",
- "",// TODO
+ "geen",
"",// TODO
"aucun",
"",// TODO
@@ -3437,7 +3437,7 @@ const tI18nPhrase Phrases[] = {
"auto",
"avtomatsko",
"auto",
- "",// TODO
+ "auto",
"",// TODO
"auto",
"",// TODO
@@ -3709,7 +3709,7 @@ const tI18nPhrase Phrases[] = {
"Live-Signal wird angehalten...",
"Ustavljanje predvajanja v zivo...",
"Pausa del canale in visione...",
- "",// TODO
+ "Pauzeren live uitzending...",
"",// TODO
"Pause de l'émission en direct...",
"",// TODO
@@ -3726,7 +3726,7 @@ const tI18nPhrase Phrases[] = {
"Dieses Plugin hat keine Setup-Parameter!",
"Ta plugin nima nastavitvenih parametrov!",
"Questo plugin non ha parametri di setup!",
- "",// TODO
+ "Deze plugin heeft geen instelparameters",
"",// TODO
"Ce plugin n'a pas de paramètres!",
"",// TODO
diff --git a/keys.c b/keys.c
index 381b318..5529f32 100644
--- a/keys.c
+++ b/keys.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: keys.c 1.4 2002/11/30 16:01:37 kls Exp $
+ * $Id: keys.c 1.5 2003/09/14 10:07:47 kls Exp $
*/
#include "keys.h"
@@ -212,7 +212,8 @@ bool cKeyMacro::Parse(char *s)
plugin = strdup(p + 1);
if (!cPluginManager::GetPlugin(plugin)) {
esyslog("ERROR: unknown plugin '%s'", plugin);
- return false;
+ // this is not a fatal error - plugins may or may not be loaded
+ macro[--n] = kNone; // makes sure the key doesn't cause any side effects
}
}
else {
diff --git a/menu.c b/menu.c
index 54c0790..9f8dea4 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 1.271 2003/09/06 10:26:45 kls Exp $
+ * $Id: menu.c 1.272 2003/09/14 10:49:28 kls Exp $
*/
#include "menu.h"
@@ -3664,7 +3664,9 @@ eOSState cReplayControl::ProcessKey(eKeys Key)
switch (Key) {
// Editing:
case kMarkToggle: MarkToggle(); break;
+ case kMarkJumpBack|k_Repeat:
case kMarkJumpBack: MarkJump(false); break;
+ case kMarkJumpForward|k_Repeat:
case kMarkJumpForward: MarkJump(true); break;
case kMarkMoveBack|k_Repeat:
case kMarkMoveBack: MarkMove(false); break;
diff --git a/osd.h b/osd.h
index ffce583..3835b09 100644
--- a/osd.h
+++ b/osd.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.h 1.39 2003/04/21 10:27:41 kls Exp $
+ * $Id: osd.h 1.40 2003/09/14 10:59:22 kls Exp $
*/
#ifndef __OSD_H
@@ -165,7 +165,7 @@ public:
int Current(void) { return current; }
void Add(cOsdItem *Item, bool Current = false, cOsdItem *After = NULL);
void Ins(cOsdItem *Item, bool Current = false, cOsdItem *Before = NULL);
- void Display(void);
+ virtual void Display(void);
virtual eOSState ProcessKey(eKeys Key);
};
diff --git a/recording.c b/recording.c
index bcbfd9f..6d01ffa 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.82 2003/08/17 09:10:46 kls Exp $
+ * $Id: recording.c 1.83 2003/09/09 16:02:55 kls Exp $
*/
#include "recording.h"
@@ -859,6 +859,7 @@ bool cIndexFile::CatchUp(int Index)
{
// returns true unless something really goes wrong, so that 'index' becomes NULL
if (index && f >= 0) {
+ cMutexLock MutexLock(&mutex);
for (int i = 0; i <= MAXINDEXCATCHUP && (Index < 0 || Index >= last); i++) {
struct stat buf;
if (fstat(f, &buf) == 0) {
diff --git a/recording.h b/recording.h
index 677e354..42fc1a2 100644
--- a/recording.h
+++ b/recording.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.h 1.26 2003/08/17 09:03:46 kls Exp $
+ * $Id: recording.h 1.27 2003/09/09 16:00:56 kls Exp $
*/
#ifndef __RECORDING_H
@@ -12,6 +12,7 @@
#include <time.h>
#include "config.h"
+#include "thread.h"
#include "timers.h"
#include "tools.h"
@@ -130,6 +131,7 @@ private:
int size, last;
tIndex *index;
cResumeFile resumeFile;
+ cMutex mutex;
bool CatchUp(int Index = -1);
public:
cIndexFile(const char *FileName, bool Record);
diff --git a/remux.c b/remux.c
index 6dc37e1..5ea24bf 100644
--- a/remux.c
+++ b/remux.c
@@ -8,7 +8,7 @@
* the Linux DVB driver's 'tuxplayer' example and were rewritten to suit
* VDR's needs.
*
- * $Id: remux.c 1.16 2003/08/06 14:44:03 kls Exp $
+ * $Id: remux.c 1.17 2003/09/14 10:34:39 kls Exp $
*/
/* The calling interface of the 'cRemux::Process()' function is defined
@@ -672,7 +672,7 @@ XXX*/
void cRemux::SetBrokenLink(uchar *Data, int Length)
{
- if (Length > 9 && Data[0] == 0 && Data[1] == 0 && Data[2] == 1 && (Data[3] & VIDEO_STREAM_S) == VIDEO_STREAM_S) {
+ if (Length > 9 && Data[0] == 0 && Data[1] == 0 && Data[2] == 1 && (Data[3] & 0xF0) == VIDEO_STREAM_S) {
for (int i = Data[8] + 9; i < Length - 7; i++) { // +9 to skip video packet header
if (Data[i] == 0 && Data[i + 1] == 0 && Data[i + 2] == 1 && Data[i + 3] == 0xB8) {
if (!(Data[i + 7] & 0x40)) // set flag only if GOP is not closed
diff --git a/vdr.c b/vdr.c
index cdc460e..e4874af 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/vdr
*
- * $Id: vdr.c 1.168 2003/09/05 13:14:16 kls Exp $
+ * $Id: vdr.c 1.169 2003/09/14 09:36:54 kls Exp $
*/
#include <getopt.h>
@@ -346,7 +346,7 @@ int main(int argc, char *argv[])
Setup.Load(AddDirectory(ConfigDirectory, "setup.conf"));
if (!(Sources.Load(AddDirectory(ConfigDirectory, "sources.conf"), true, true) &&
- Diseqcs.Load(AddDirectory(ConfigDirectory, "diseqc.conf"), true, true) &&
+ Diseqcs.Load(AddDirectory(ConfigDirectory, "diseqc.conf"), true, Setup.DiSEqC) &&
Channels.Load(AddDirectory(ConfigDirectory, "channels.conf"), false, true) &&
Timers.Load(AddDirectory(ConfigDirectory, "timers.conf")) &&
Commands.Load(AddDirectory(ConfigDirectory, "commands.conf"), true) &&