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 /dvbapi.c | |
parent | afb2f1bdec2cef12fe363d1ef25034e993f5e63e (diff) | |
download | vdr-4b8968f7e1f91f88e51a5014aa17f07484040f72.tar.gz vdr-4b8968f7e1f91f88e51a5014aa17f07484040f72.tar.bz2 |
Increased 'broken data stream' timeout; modified turning off PIDs
Diffstat (limited to 'dvbapi.c')
-rw-r--r-- | dvbapi.c | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -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; |