diff -ruNbw vdr-1.2.5pre2/CONTRIBUTORS vdr-1.2.5pre3/CONTRIBUTORS
--- vdr-1.2.5pre2/CONTRIBUTORS	Sat Sep  6 12:35:24 2003
+++ vdr-1.2.5pre3/CONTRIBUTORS	Sun Sep 14 13:17:07 2003
@@ -491,6 +491,10 @@
  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 @@
 
 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 @@
 
 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 @@
 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 @@
 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 -ruNbw vdr-1.2.5pre2/HISTORY vdr-1.2.5pre3/HISTORY
--- vdr-1.2.5pre2/HISTORY	Sun Sep  7 11:02:19 2003
+++ vdr-1.2.5pre3/HISTORY	Sun Sep 14 13:16:05 2003
@@ -2375,3 +2375,26 @@
 - 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 -ruNbw vdr-1.2.5pre2/INSTALL vdr-1.2.5pre3/INSTALL
--- vdr-1.2.5pre2/INSTALL	Sun Aug 24 13:08:27 2003
+++ vdr-1.2.5pre3/INSTALL	Tue Sep  9 21:02:13 2003
@@ -382,7 +382,7 @@
 -------------------------------------
 
 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 -ruNbw vdr-1.2.5pre2/MANUAL vdr-1.2.5pre3/MANUAL
--- vdr-1.2.5pre2/MANUAL	Sun Aug 17 10:51:23 2003
+++ vdr-1.2.5pre3/MANUAL	Tue Sep  9 23:38:19 2003
@@ -393,20 +393,6 @@
   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 -ruNbw vdr-1.2.5pre2/ca.conf vdr-1.2.5pre3/ca.conf
--- vdr-1.2.5pre2/ca.conf	Sun Jan 12 10:43:08 2003
+++ vdr-1.2.5pre3/ca.conf	Sun Sep 14 13:14:03 2003
@@ -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 -ruNbw vdr-1.2.5pre2/channels.c vdr-1.2.5pre3/channels.c
--- vdr-1.2.5pre2/channels.c	Sat Aug 16 11:12:26 2003
+++ vdr-1.2.5pre3/channels.c	Tue Sep  9 20:55:26 2003
@@ -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 @@
 
 bool cChannel::Parse(const char *s, bool AllowNonUniqueID)
 {
+  bool ok = true;
   if (*s == ':') {
      groupSep = true;
      if (*++s == '@' && *++s) {
@@ -346,7 +347,7 @@
         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 @@
            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 -ruNbw vdr-1.2.5pre2/config.h vdr-1.2.5pre3/config.h
--- vdr-1.2.5pre2/config.h	Fri Sep  5 15:18:38 2003
+++ vdr-1.2.5pre3/config.h	Sun Sep 14 12:37:49 2003
@@ -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 -ruNbw vdr-1.2.5pre2/i18n.c vdr-1.2.5pre3/i18n.c
--- vdr-1.2.5pre2/i18n.c	Tue Aug 26 17:27:25 2003
+++ vdr-1.2.5pre3/i18n.c	Thu Sep 11 15:51:56 2003
@@ -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 @@
     "Befehle für Aufzeichnungen",
     "Ukazi za snemanje",
     "Comandi di Registrazione",
-    "",// TODO
+    "Opname commando's",
     "",// TODO
     "Commandes d'enregistrement",
     "",// TODO
@@ -672,7 +672,7 @@
     "Einfügen",
     "Vstavi",
     "Inserisci",
-    "",// TODO
+    "Invoegen",
     "",// TODO
     "Insért",
     "",// TODO
@@ -689,7 +689,7 @@
     "Überschreiben",
     "Prepisi",
     "Sovrascrivi",
-    "",// TODO
+    "Overschrijven",
     "",// TODO
     "Écraser",
     "",// TODO
@@ -723,7 +723,7 @@
     "Reset",
     "Reset",
     "Reset",
-    "",//TODO
+    "Herstart",
     "",//TODO
     "Réinitialisation",
     "",//TODO
@@ -997,7 +997,7 @@
     "Quelle",
     "Pozicija",
     "Sorgente",
-    "",//TODO
+    "Bron",
     "",//TODO
     "Source",
     "",//TODO
@@ -1594,7 +1594,7 @@
     "Kanal nicht verfügbar!",
     "Kanal ni razpolozljiv!",
     "Canale non disponibile!",
-    "",//TODO
+    "Kanaal niet beschikbaar",
     "",//TODO
     "Chaîne non disponible!",
     "",//TODO
@@ -1611,7 +1611,7 @@
     "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 @@
     "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 @@
     "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 @@
     "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 @@
     "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 @@
     "Pause Priorität",
     "Prioriteta pavze",
     "Priorita' di pausa",
-    "",// TODO
+    "Pauze prioriteit",
     "",// TODO
     "Priorité des pauses",
     "",// TODO
@@ -2429,7 +2429,7 @@
     "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 @@
     "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 @@
     "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 @@
     "Zap Timeout (s)",
     "",// TODO
     "",// TODO
-    "",// TODO
+    "Zap timeout (s)",
     "",// TODO
     "",// TODO
     "",// TODO
@@ -2925,7 +2925,7 @@
     "('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 @@
     "Wiedergabe",
     "Predvajaj",
     "Riproduci",
-    "",// TODO
+    "Weergeven",
     "",// TODO
     "Lecture",
     "",// TODO
@@ -3181,7 +3181,7 @@
     "Pause",
     "Pavza",
     "Pausa",
-    "",// TODO
+    "Pauze",
     "",// TODO
     "Pause",
     "",// TODO
@@ -3198,7 +3198,7 @@
     "Stop",
     "Ustavi",
     "Stop",
-    "",// TODO
+    "Stop",
     "Stop",
     "Stop",
     "",// TODO
@@ -3215,7 +3215,7 @@
     "Aufnehmen",
     "Snemaj",
     "Registra",
-    "",// TODO
+    "Opnemen",
     "",// TODO
     "Enregistrement",
     "",// TODO
@@ -3232,7 +3232,7 @@
     "Vorlauf",
     "Hitro naprej",
     "Avanti Veloce",
-    "",// TODO
+    "Vooruitspoelen",
     "",// TODO
     "Avance rapide",
     "",// TODO
@@ -3249,7 +3249,7 @@
     "Rücklauf",
     "Hitro nazaj",
     "Indietro Veloce",
-    "",// TODO
+    "Terugspoelen",
     "",// TODO
     "Retour rapide",
     "",// TODO
@@ -3283,7 +3283,7 @@
     "Kanal+",
     "Kanal+",
     "Canale +",
-    "",// TODO
+    "Kanaal+",
     "",// TODO
     "Chaîne+",
     "",// TODO
@@ -3300,7 +3300,7 @@
     "Kanal-",
     "Kanal-",
     "Canale -",
-    "",// TODO
+    "Kanaal-",
     "",// TODO
     "Chaîne-",
     "",// TODO
@@ -3403,7 +3403,7 @@
     "aus",
     "izklop",
     "off",
-    "",// TODO
+    "uit",
     "off",
     "",// TODO
     "",// TODO
@@ -3420,7 +3420,7 @@
     "keine",
     "nobeden",
     "nessuno",
-    "",// TODO
+    "geen",
     "",// TODO
     "aucun",
     "",// TODO
@@ -3437,7 +3437,7 @@
     "auto",
     "avtomatsko",
     "auto",
-    "",// TODO
+    "auto",
     "",// TODO
     "auto",
     "",// TODO
@@ -3709,7 +3709,7 @@
     "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 @@
     "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 -ruNbw vdr-1.2.5pre2/keys.c vdr-1.2.5pre3/keys.c
--- vdr-1.2.5pre2/keys.c	Sat Nov 30 17:01:37 2002
+++ vdr-1.2.5pre3/keys.c	Sun Sep 14 12:07:47 2003
@@ -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 @@
                  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 -ruNbw vdr-1.2.5pre2/menu.c vdr-1.2.5pre3/menu.c
--- vdr-1.2.5pre2/menu.c	Sat Sep  6 12:26:45 2003
+++ vdr-1.2.5pre3/menu.c	Sun Sep 14 12:49:28 2003
@@ -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 @@
       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 -ruNbw vdr-1.2.5pre2/osd.h vdr-1.2.5pre3/osd.h
--- vdr-1.2.5pre2/osd.h	Mon Apr 21 12:27:41 2003
+++ vdr-1.2.5pre3/osd.h	Sun Sep 14 12:59:22 2003
@@ -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 @@
   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 -ruNbw vdr-1.2.5pre2/recording.c vdr-1.2.5pre3/recording.c
--- vdr-1.2.5pre2/recording.c	Sun Aug 17 11:10:46 2003
+++ vdr-1.2.5pre3/recording.c	Tue Sep  9 18:02:55 2003
@@ -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 @@
 {
   // 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 -ruNbw vdr-1.2.5pre2/recording.h vdr-1.2.5pre3/recording.h
--- vdr-1.2.5pre2/recording.h	Sun Aug 17 11:03:46 2003
+++ vdr-1.2.5pre3/recording.h	Tue Sep  9 18:00:56 2003
@@ -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 @@
   int size, last;
   tIndex *index;
   cResumeFile resumeFile;
+  cMutex mutex;
   bool CatchUp(int Index = -1);
 public:
   cIndexFile(const char *FileName, bool Record);
diff -ruNbw vdr-1.2.5pre2/remux.c vdr-1.2.5pre3/remux.c
--- vdr-1.2.5pre2/remux.c	Wed Aug  6 16:44:03 2003
+++ vdr-1.2.5pre3/remux.c	Sun Sep 14 12:34:39 2003
@@ -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 @@
 
 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 -ruNbw vdr-1.2.5pre2/vdr.c vdr-1.2.5pre3/vdr.c
--- vdr-1.2.5pre2/vdr.c	Fri Sep  5 15:14:16 2003
+++ vdr-1.2.5pre3/vdr.c	Sun Sep 14 11:36:54 2003
@@ -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 @@
 
   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) &&
