diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2001-06-14 08:22:30 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2001-06-14 08:22:30 +0200 |
commit | 4b8968f7e1f91f88e51a5014aa17f07484040f72 (patch) | |
tree | 61e9817c3c1296923cfee5a62b1aebf6c8097658 | |
parent | afb2f1bdec2cef12fe363d1ef25034e993f5e63e (diff) | |
download | vdr-4b8968f7e1f91f88e51a5014aa17f07484040f72.tar.gz vdr-4b8968f7e1f91f88e51a5014aa17f07484040f72.tar.bz2 |
Increased 'broken data stream' timeout; modified turning off PIDs
-rw-r--r-- | HISTORY | 5 | ||||
-rw-r--r-- | config.h | 4 | ||||
-rw-r--r-- | dvbapi.c | 20 |
3 files changed, 17 insertions, 12 deletions
@@ -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. @@ -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 @@ -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; |