#! /bin/sh /usr/share/dpatch/dpatch-run
## opt-99_remux.dpatch.dpatch by  <root@CKtwo.fritz.box>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.

@DPATCH@

diff -u --recursive --new-file vdr-1.7.24/config.c vdr-1.7.24-patched/config.c
--- vdr-1.7.24/config.c	2012-02-26 14:17:52.000000000 +0100
+++ vdr-1.7.24-patched/config.c	2012-02-26 14:24:48.427371268 +0100
@@ -477,6 +477,8 @@
   InitialVolume = -1;
   ChannelsWrap = 0;
   EmergencyExit = 1;
+  JumpSeconds = 60;
+  JumpSecondsSlow = 10;
 }
 
 cSetup::~cSetup()
@@ -696,6 +698,8 @@
   else if (!strcasecmp(Name, "DeviceBondings"))      DeviceBondings     = Value;
   else if (!strcasecmp(Name, "ChannelsWrap"))        ChannelsWrap       = atoi(Value);
   else if (!strcasecmp(Name, "EmergencyExit"))       EmergencyExit      = atoi(Value);
+  else if (!strcasecmp(Name, "JumpSeconds"))         JumpSeconds        = atoi(Value);
+  else if (!strcasecmp(Name, "JumpSecondsSlow"))     JumpSecondsSlow    = atoi(Value);
   else
      return false;
   return true;
@@ -808,6 +812,8 @@
   Store("DeviceBondings",     DeviceBondings);
   Store("ChannelsWrap",       ChannelsWrap);
   Store("EmergencyExit",      EmergencyExit);
+  Store("JumpSeconds",        JumpSeconds);
+  Store("JumpSecondsSlow",    JumpSecondsSlow);
 
   Sort();
 
diff -u --recursive --new-file vdr-1.7.24/config.h vdr-1.7.24-patched/config.h
--- vdr-1.7.24/config.h	2012-02-26 14:17:52.000000000 +0100
+++ vdr-1.7.24-patched/config.h	2012-02-26 14:32:28.959360737 +0100
@@ -333,6 +333,8 @@
   int InitialVolume;
   int ChannelsWrap;
   int EmergencyExit;
+  int JumpSeconds;
+  int JumpSecondsSlow;
   int __EndData__;
   cString InitialChannel;
   cString DeviceBondings;
diff -u --recursive --new-file vdr-1.7.24/menu.c vdr-1.7.24-patched/menu.c
--- vdr-1.7.24/menu.c	2012-02-26 14:17:52.000000000 +0100
+++ vdr-1.7.24-patched/menu.c	2012-02-26 14:36:38.139355040 +0100
@@ -3538,6 +3538,8 @@
   Add(new cMenuEditBoolItem(tr("Setup.Replay$Jump&Play"), &data.JumpPlay));
   Add(new cMenuEditBoolItem(tr("Setup.Replay$Play&Jump"), &data.PlayJump));
   Add(new cMenuEditBoolItem(tr("Setup.Replay$Pause at last mark"), &data.PauseLastMark));
+  Add(new cMenuEditIntItem(tr("Setup.Replay$Jump Seconds"), &data.JumpSeconds));
+  Add(new cMenuEditIntItem(tr("Setup.Replay$Jump Seconds Slow"), &data.JumpSecondsSlow));
 }
 
 void cMenuSetupReplay::Store(void)
@@ -5448,9 +5450,9 @@
     case kRight:   Forward(); break;
     case kRed:     TimeSearch(); break;
     case kGreen|k_Repeat:
-    case kGreen:   SkipSeconds(-60); break;
+    case kGreen:   SkipSeconds(-Setup.JumpSeconds); break;
     case kYellow|k_Repeat:
-    case kYellow:  SkipSeconds( 60); break;
+    case kYellow:  SkipSeconds(Setup.JumpSeconds); break;
     case kPrev|k_Repeat:
     case kPrev:    if (lastSkipTimeout.TimedOut()) {
                       lastSkipSeconds = REPLAYCONTROLSKIPSECONDS;
@@ -5497,7 +5499,7 @@
                                   marks.Save();
                                   }
                                else
-                                  SkipSeconds(-20);
+                                  SkipSeconds(-Setup.JumpSecondsSlow);
                                break;
         case k3|k_Repeat:
         case k3:               if (GetReplayMode(play, forward, speed) && !play && GetIndex(Current, Total) && (m = marks.Get(Current)) != NULL) {
@@ -5510,7 +5512,7 @@
                                   marks.Save();
                                   }
                                else
-                                  SkipSeconds(20);
+                                  SkipSeconds(Setup.JumpSecondsSlow);
                                break;
         case kMarkToggle:      if (GetReplayMode(play, forward, speed) && play) {
                                   displayFrames = true;
