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:
parent
afb2f1bdec
commit
4b8968f7e1
5
HISTORY
5
HISTORY
@ -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.
|
||||||
|
4
config.h
4
config.h
@ -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
|
||||||
|
|
||||||
|
20
dvbapi.c
20
dvbapi.c
@ -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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user