mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 1.1.6
- Re-visited the race condition fix in the cDvbPlayer (thanks again to Andreas Schultz). - Changed the VFAT handling to allow users who normally use it but have forgotten to set it when compiling a new version of VDR to at least see their recordings made with VFAT enabled (thanks to Christian Rienecker). - Added some missing teletext PIDs (thanks to Joerg Riechardt). - Fixed PID handling for cReceiver. - Added a missing #include to ringbuffer.c (thanks to Martin Hammerschmid). - Now using CC, CFLAGS, CXX and CXXFLAGS in Makefile. - Changed the cDevice class to allow plugins to implement their own devices (see PLUGINS.html for details).
This commit is contained in:
12
dvbplayer.c
12
dvbplayer.c
@@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: dvbplayer.c 1.7 2002/07/14 14:30:36 kls Exp $
|
||||
* $Id: dvbplayer.c 1.8 2002/07/27 11:57:48 kls Exp $
|
||||
*/
|
||||
|
||||
#include "dvbplayer.h"
|
||||
@@ -90,6 +90,7 @@ private:
|
||||
int replayFile;
|
||||
bool eof;
|
||||
bool active;
|
||||
bool running;
|
||||
ePlayModes playMode;
|
||||
ePlayDirs playDir;
|
||||
int trickSpeed;
|
||||
@@ -133,6 +134,7 @@ cDvbPlayer::cDvbPlayer(const char *FileName)
|
||||
index = NULL;
|
||||
eof = false;
|
||||
active = true;
|
||||
running = false;
|
||||
playMode = pmPlay;
|
||||
playDir = pdForward;
|
||||
trickSpeed = NORMAL_SPEED;
|
||||
@@ -285,8 +287,9 @@ void cDvbPlayer::Activate(bool On)
|
||||
Start();
|
||||
}
|
||||
else if (active) {
|
||||
active = false;
|
||||
running = false;
|
||||
Cancel(3);
|
||||
active = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -308,7 +311,8 @@ void cDvbPlayer::Action(void)
|
||||
if (readIndex >= 0)
|
||||
isyslog("resuming replay at index %d (%s)", readIndex, IndexToHMSF(readIndex, true));
|
||||
|
||||
while (active && NextFile()) {
|
||||
running = true;
|
||||
while (running && NextFile()) {
|
||||
pfd[1].fd = replayFile; // NextFile() may have returned a new file handle!
|
||||
{
|
||||
LOCK_THREAD;
|
||||
@@ -414,9 +418,9 @@ void cDvbPlayer::Action(void)
|
||||
break;
|
||||
}
|
||||
}
|
||||
active = running = false;
|
||||
|
||||
dsyslog("dvbplayer thread ended (pid=%d)", getpid());
|
||||
active = false;
|
||||
}
|
||||
|
||||
void cDvbPlayer::Pause(void)
|
||||
|
Reference in New Issue
Block a user