summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-04-21 12:11:00 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-04-21 12:11:00 +0200
commitfb38680302ca6b5b737ea295709495abfafe7325 (patch)
tree4fbf9ce0237a6c6a1667754d0558d1652f98d452
parentd628839eeee4f0976b15efc3d985b1cac99fbad8 (diff)
downloadvdr-fb38680302ca6b5b737ea295709495abfafe7325.tar.gz
vdr-fb38680302ca6b5b737ea295709495abfafe7325.tar.bz2
No longer setting PIDs 0x1FFF, which apparently fixes problems with CAMs and AC3 sound only working the first time
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY2
-rw-r--r--dvbapi.c21
3 files changed, 15 insertions, 10 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f0db96cd..3beb408b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -123,6 +123,8 @@ Stefan Huelswitt <huels@iname.com>
for fixing a crash when selecting the "Jump" function directly after setting
an editing mark
for reporting a possible endless loop in shifting recordings between DVB cards
+ for making it no longer setting PIDs 0x1FFF, which apparently fixes problems
+ with CAMs and AC3 sound only working the first time
Ulrich Röder <roeder@efr-net.de>
for pointing out that there are channels that have a symbol rate higher than
diff --git a/HISTORY b/HISTORY
index d4d9078c..0fb22049 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1214,3 +1214,5 @@ Video Disk Recorder Revision History
to Stefan Huelswitt for reporting this one).
- Updated the Premiere World Formula 1 channels in 'channels.conf' (thanks to Mel
Schächner).
+- No longer setting PIDs 0x1FFF, which apparently fixes problems with CAMs and
+ AC3 sound only working the first time (thanks to Stefan Huelswitt).
diff --git a/dvbapi.c b/dvbapi.c
index 786aff99..0006e436 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.172 2002/04/21 09:54:40 kls Exp $
+ * $Id: dvbapi.c 1.173 2002/04/21 11:55:48 kls Exp $
*/
#include "dvbapi.h"
@@ -2306,16 +2306,17 @@ bool cDvbApi::SetPid(int fd, dmxPesType_t PesType, int Pid, dmxOutput_t Output)
{
if (Pid) {
CHECK(ioctl(fd, DMX_STOP));
- 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 != 0x1FFF)
+ if (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) {
LOG_ERROR;
- return false;
+ return false;
+ }
}
}
return true;