Fixed ejecting a DVD while it is being replayed

This commit is contained in:
Klaus Schmidinger 2001-11-04 10:47:37 +01:00
parent 34721bcac5
commit 56565721af
2 changed files with 11 additions and 2 deletions

View File

@ -831,7 +831,7 @@ Video Disk Recorder Revision History
- Fixed handling trick modes near the beginning and end of a recording.
- Pressing the "Back" button while replaying a DVD now leads to the DVD menu.
2001-11-03: Version 0.98
2001-11-04: Version 0.98
- Completed storing the current audio volume in the setup.conf file (thanks
to Andy Grobb).
@ -859,3 +859,4 @@ Video Disk Recorder Revision History
- Added a fifth parameter to the 'shutdown' call that indicates the reason for
this shutdown request (see INSTALL).
- Fixed releasing 'index' memory after recording or playback.
- Fixed ejecting a DVD while it is being replayed.

10
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 1.138 2001/10/28 17:06:34 kls Exp $
* $Id: menu.c 1.139 2001/11/04 10:37:18 kls Exp $
*/
#include "menu.h"
@ -1937,6 +1937,14 @@ eOSState cMenuMain::ProcessKey(eKeys Key)
#ifdef DVDSUPPORT
case kYellow: if (!HasSubMenu()) {
if (cDVD::DiscOk()) {
// We need to stop replaying a DVD before ejecting,
// otherwise the replay thread crashes. Currently
// checking LastReplayed() is pretty much the only way
// of finding out whether we are currently replaying a DVD
// (i.e. if LastReplayed() returns non-NULL, we are either
// replaying a normal recording, or nothing at all):
if (!cReplayControl::LastReplayed())
cDvbApi::PrimaryDvbApi->StopReplay();
cDVD::Eject();
state = osEnd;
}