summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS4
-rw-r--r--HISTORY5
-rw-r--r--menu.c7
3 files changed, 13 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 4d079797..9b27b325 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -757,3 +757,7 @@ 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
+
+Richard Robson <richard_robson@beeb.net>
+ for reporting freezing replay if a timer starts while in Transfer Mode from the
+ device used by the timer, and the timer needs a different transponder
diff --git a/HISTORY b/HISTORY
index 794a532c..dbe0a5db 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2283,7 +2283,7 @@ Video Disk Recorder Revision History
or Makefile.config as defaults (thanks to Steffen Barszus).
- Added the usual menu timeout to the CAM menus.
-2003-08-09: Version 1.2.3
+2003-08-16: Version 1.2.3
- Fixed the TS to PES repacker so that it works with MPEG1 streams (thanks to
Andreas Kool).
@@ -2304,3 +2304,6 @@ Video Disk Recorder Revision History
read correctly at program startup (suggested by Rainer Zocholl).
- Fixed a crash when starting "Pause live video" twice within the same minute on
the same channel.
+- Fixed freezing replay if a timer starts while in Transfer Mode from the device
+ used by the timer, and the timer needs a different transponder (thanks to
+ Richard Robson for reporting this one).
diff --git a/menu.c b/menu.c
index 87afabd2..9531d5bb 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.266 2003/08/16 10:17:49 kls Exp $
+ * $Id: menu.c 1.267 2003/08/16 13:12:26 kls Exp $
*/
#include "menu.h"
@@ -3099,8 +3099,11 @@ bool cRecordControls::Start(cTimer *Timer, bool Pause)
int Priority = Timer ? Timer->Priority() : Pause ? Setup.PausePriority : Setup.DefaultPriority;
cDevice *device = cDevice::GetDevice(channel, Priority, &NeedsDetachReceivers);
if (device) {
- if (NeedsDetachReceivers)
+ if (NeedsDetachReceivers) {
Stop(device);
+ if (device == cDevice::ActualDevice())
+ cControl::Shutdown(); // in case this device was used for Transfer Mode
+ }
if (!device->SwitchChannel(channel, false)) {
cThread::EmergencyExit(true);
return false;