summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--dvbapi.c10
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;
}