summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2001-06-14 08:22:30 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2001-06-14 08:22:30 +0200
commit4b8968f7e1f91f88e51a5014aa17f07484040f72 (patch)
tree61e9817c3c1296923cfee5a62b1aebf6c8097658
parentafb2f1bdec2cef12fe363d1ef25034e993f5e63e (diff)
downloadvdr-4b8968f7e1f91f88e51a5014aa17f07484040f72.tar.gz
vdr-4b8968f7e1f91f88e51a5014aa17f07484040f72.tar.bz2
Increased 'broken data stream' timeout; modified turning off PIDs
-rw-r--r--HISTORY5
-rw-r--r--config.h4
-rw-r--r--dvbapi.c20
3 files changed, 17 insertions, 12 deletions
diff --git a/HISTORY b/HISTORY
index e1497977..855b3011 100644
--- a/HISTORY
+++ b/HISTORY
@@ -505,3 +505,8 @@ Video Disk Recorder Revision History
Holtschneider).
- Fixed removing recordings with Lifetime = 99.
- Improved channel switching.
+
+2001-06-14: Version 0.82
+
+- Increased timeout until reporting "broken video data stream" when recording.
+- Modified method of turning off PIDs when switching channel.
diff --git a/config.h b/config.h
index 4da45fa4..b532cb63 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 1.47 2001/06/12 21:40:28 kls Exp $
+ * $Id: config.h 1.48 2001/06/14 08:20:34 kls Exp $
*/
#ifndef __CONFIG_H
@@ -19,7 +19,7 @@
#include "eit.h"
#include "tools.h"
-#define VDRVERSION "0.81"
+#define VDRVERSION "0.82"
#define MaxBuffer 10000
diff --git a/dvbapi.c b/dvbapi.c
index b1464423..a9e52b8f 100644
--- a/dvbapi.c
+++ b/dvbapi.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbapi.c 1.71 2001/06/12 21:48:48 kls Exp $
+ * $Id: dvbapi.c 1.72 2001/06/14 08:19:43 kls Exp $
*/
#include "dvbapi.h"
@@ -534,9 +534,10 @@ void cRecordBuffer::Input(void)
break;
}
}
- if (time(NULL) - t > 5) {
+ if (time(NULL) - t > 10) {
esyslog(LOG_ERR, "ERROR: video data stream broken");
cThread::EmergencyExit(true);
+ t = time(NULL);
}
cFile::FileReady(videoDev, 100);
if (!recording)
@@ -2007,17 +2008,16 @@ void cDvbApi::SetModeNormal(bool FromRecording)
bool cDvbApi::SetPid(int fd, dmxPesType_t PesType, dvb_pid_t Pid, dmxOutput_t Output)
{
dmxPesFilterParams pesFilterParams;
- if (Pid == 0 || Pid == 0xFFFF) {
- CHECK(ioctl(fd, DMX_STOP, Pid));
- return true;
- }
+ if (Pid == 0 || Pid == 0xFFFF)
+ CHECK(ioctl(fd, DMX_STOP));
pesFilterParams.pid = Pid;
pesFilterParams.input = DMX_IN_FRONTEND;
pesFilterParams.output = Output;
pesFilterParams.pesType = PesType;
pesFilterParams.flags = DMX_IMMEDIATE_START;
if (ioctl(fd, DMX_SET_PES_FILTER, &pesFilterParams) < 0) {
- LOG_ERROR;
+ if (Pid != 0)
+ LOG_ERROR;
return false;
}
return true;
@@ -2048,9 +2048,9 @@ bool cDvbApi::SetChannel(int ChannelNumber, int FrequencyMHz, char Polarization,
// Turn off current PIDs:
- CHECK(ioctl(fd_demuxv, DMX_STOP));
- CHECK(ioctl(fd_demuxa, DMX_STOP));
- CHECK(ioctl(fd_demuxt, DMX_STOP));
+ SetVpid(0, DMX_OUT_DECODER);
+ SetApid(0, DMX_OUT_DECODER);
+ SetTpid(0, DMX_OUT_DECODER);
bool ChannelSynced = false;