From 0af14457e0cb9f91dd2861814b8a2aae55a193be Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 16 Jun 2001 13:11:33 +0200 Subject: [PATCH] Setting all PIDs to 0x1FFF before switching channel --- HISTORY | 1 + dvbapi.c | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/HISTORY b/HISTORY index 8843f991..96ac6539 100644 --- a/HISTORY +++ b/HISTORY @@ -530,3 +530,4 @@ Video Disk Recorder Revision History consist of more than one data file). - The compile time switch VFAT has been fixed to recognize the ':' character in recording names, too. +- Setting all PIDs to 0x1FFF before switching channel. diff --git a/dvbapi.c b/dvbapi.c index e5fcf88a..453b2b12 100644 --- a/dvbapi.c +++ b/dvbapi.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * 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" @@ -2029,16 +2029,18 @@ 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) + if (Pid == 0) { CHECK(ioctl(fd, DMX_STOP)); + Pid = 0x1FFF; + } + dmxPesFilterParams pesFilterParams; 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) { - if (Pid != 0) + if (Pid != 0x1FFF) LOG_ERROR; return false; }