1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Increased 'broken data stream' timeout; modified turning off PIDs

This commit is contained in:
Klaus Schmidinger 2001-06-14 08:22:30 +02:00
parent afb2f1bdec
commit 4b8968f7e1
3 changed files with 17 additions and 12 deletions

View File

@ -505,3 +505,8 @@ Video Disk Recorder Revision History
Holtschneider). Holtschneider).
- Fixed removing recordings with Lifetime = 99. - Fixed removing recordings with Lifetime = 99.
- Improved channel switching. - 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.

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: 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 #ifndef __CONFIG_H
@ -19,7 +19,7 @@
#include "eit.h" #include "eit.h"
#include "tools.h" #include "tools.h"
#define VDRVERSION "0.81" #define VDRVERSION "0.82"
#define MaxBuffer 10000 #define MaxBuffer 10000

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: 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" #include "dvbapi.h"
@ -534,9 +534,10 @@ void cRecordBuffer::Input(void)
break; break;
} }
} }
if (time(NULL) - t > 5) { if (time(NULL) - t > 10) {
esyslog(LOG_ERR, "ERROR: video data stream broken"); esyslog(LOG_ERR, "ERROR: video data stream broken");
cThread::EmergencyExit(true); cThread::EmergencyExit(true);
t = time(NULL);
} }
cFile::FileReady(videoDev, 100); cFile::FileReady(videoDev, 100);
if (!recording) 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) bool cDvbApi::SetPid(int fd, dmxPesType_t PesType, dvb_pid_t Pid, dmxOutput_t Output)
{ {
dmxPesFilterParams pesFilterParams; dmxPesFilterParams pesFilterParams;
if (Pid == 0 || Pid == 0xFFFF) { if (Pid == 0 || Pid == 0xFFFF)
CHECK(ioctl(fd, DMX_STOP, Pid)); CHECK(ioctl(fd, DMX_STOP));
return true;
}
pesFilterParams.pid = Pid; pesFilterParams.pid = Pid;
pesFilterParams.input = DMX_IN_FRONTEND; pesFilterParams.input = DMX_IN_FRONTEND;
pesFilterParams.output = Output; pesFilterParams.output = Output;
pesFilterParams.pesType = PesType; pesFilterParams.pesType = PesType;
pesFilterParams.flags = DMX_IMMEDIATE_START; pesFilterParams.flags = DMX_IMMEDIATE_START;
if (ioctl(fd, DMX_SET_PES_FILTER, &pesFilterParams) < 0) { if (ioctl(fd, DMX_SET_PES_FILTER, &pesFilterParams) < 0) {
LOG_ERROR; if (Pid != 0)
LOG_ERROR;
return false; return false;
} }
return true; return true;
@ -2048,9 +2048,9 @@ bool cDvbApi::SetChannel(int ChannelNumber, int FrequencyMHz, char Polarization,
// Turn off current PIDs: // Turn off current PIDs:
CHECK(ioctl(fd_demuxv, DMX_STOP)); SetVpid(0, DMX_OUT_DECODER);
CHECK(ioctl(fd_demuxa, DMX_STOP)); SetApid(0, DMX_OUT_DECODER);
CHECK(ioctl(fd_demuxt, DMX_STOP)); SetTpid(0, DMX_OUT_DECODER);
bool ChannelSynced = false; bool ChannelSynced = false;