Fixed a possible race condition in the cDvbPlayer

This commit is contained in:
Klaus Schmidinger 2002-07-14 14:35:16 +02:00
parent 17699edebb
commit 9b94097931
3 changed files with 5 additions and 3 deletions

View File

@ -156,6 +156,7 @@ Andreas Schultz <aschultz@warp10.net>
for fixing a bug in the EPG bugfix mechanism if the extended description is shorter for fixing a bug in the EPG bugfix mechanism if the extended description is shorter
than 3 characters than 3 characters
for adding direct access to the index data of cPalette (needed for displaying SPUs) for adding direct access to the index data of cPalette (needed for displaying SPUs)
for pointing out a possible race condition in the cDvbPlayer
Aaron Holtzman Aaron Holtzman
for writing 'ac3dec' for writing 'ac3dec'

View File

@ -1375,3 +1375,5 @@ Video Disk Recorder Revision History
provide a name to simply use a string that describes the player type (like, e.g., provide a name to simply use a string that describes the player type (like, e.g.,
"DVD"). "DVD").
- Fixed a hangup when switching to the next file during replay. - Fixed a hangup when switching to the next file during replay.
- Fixed a possible race condition in the cDvbPlayer (thanks to Andreas Schultz
for pointing out this one).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: dvbplayer.c 1.6 2002/07/14 12:24:59 kls Exp $ * $Id: dvbplayer.c 1.7 2002/07/14 14:30:36 kls Exp $
*/ */
#include "dvbplayer.h" #include "dvbplayer.h"
@ -132,7 +132,7 @@ cDvbPlayer::cDvbPlayer(const char *FileName)
backTrace = NULL; backTrace = NULL;
index = NULL; index = NULL;
eof = false; eof = false;
active = false; active = true;
playMode = pmPlay; playMode = pmPlay;
playDir = pdForward; playDir = pdForward;
trickSpeed = NORMAL_SPEED; trickSpeed = NORMAL_SPEED;
@ -292,7 +292,6 @@ void cDvbPlayer::Activate(bool On)
void cDvbPlayer::Action(void) void cDvbPlayer::Action(void)
{ {
active = true;
dsyslog("dvbplayer thread started (pid=%d)", getpid()); dsyslog("dvbplayer thread started (pid=%d)", getpid());
uchar b[MAXFRAMESIZE]; uchar b[MAXFRAMESIZE];