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

Setting all PIDs to 0x1FFF before switching channel

This commit is contained in:
Klaus Schmidinger 2001-06-16 13:11:33 +02:00
parent ef0aba26bd
commit 0af14457e0
2 changed files with 7 additions and 4 deletions

View File

@ -530,3 +530,4 @@ Video Disk Recorder Revision History
consist of more than one data file). consist of more than one data file).
- The compile time switch VFAT has been fixed to recognize the ':' character - The compile time switch VFAT has been fixed to recognize the ':' character
in recording names, too. in recording names, too.
- Setting all PIDs to 0x1FFF before 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: dvbapi.c 1.75 2001/06/16 09:43:03 kls Exp $ * $Id: dvbapi.c 1.76 2001/06/16 11:36:40 kls Exp $
*/ */
#include "dvbapi.h" #include "dvbapi.h"
@ -2029,16 +2029,18 @@ 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; if (Pid == 0) {
if (Pid == 0 || Pid == 0xFFFF)
CHECK(ioctl(fd, DMX_STOP)); CHECK(ioctl(fd, DMX_STOP));
Pid = 0x1FFF;
}
dmxPesFilterParams pesFilterParams;
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) {
if (Pid != 0) if (Pid != 0x1FFF)
LOG_ERROR; LOG_ERROR;
return false; return false;
} }