From a437a3d743136b2e5ffbb3b2d88684658d92b656 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Thu, 27 Feb 2014 17:05:55 +0100 Subject: [PATCH] Fixed handling transfer mode on full featured DVB cards for encrypted channels that have no audio pid --- CONTRIBUTORS | 4 ++++ HISTORY | 4 +++- PLUGINS/src/dvbsddevice/dvbsdffdevice.c | 6 +++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 70fe1361..e17ebbda 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3273,3 +3273,7 @@ Tony Houghton warning with Clang 3.4.1 for suggesting to replace the NULL pointer assignment in ~cReceiver() to force a segfault with a call to abort() + +Christian Winkler + for reporting a problem with transfer mode on full featured DVB cards for encrypted + channels that have no audio pid diff --git a/HISTORY b/HISTORY index b94e00ee..6325bd14 100644 --- a/HISTORY +++ b/HISTORY @@ -8203,9 +8203,11 @@ Video Disk Recorder Revision History - Fixed detecting broken video data streams when recording. - Fixed handling frame detection buffer length (reported by Eike Sauer). -2014-02-26: Version 2.1.6 +2014-02-27: Version 2.1.6 - Revoked "Fixed some compiler warnings with Clang 3.4.1" from ci.c, because this did not compile with older versions of gcc (thanks to Sören Moch). - Fixed keeping the current position in the Recordings menu if a recording was deleted in a sub folder. +- Fixed handling transfer mode on full featured DVB cards for encrypted channels + that have no audio pid (reported by Christian Winkler). diff --git a/PLUGINS/src/dvbsddevice/dvbsdffdevice.c b/PLUGINS/src/dvbsddevice/dvbsdffdevice.c index 1f197b4d..437fd9eb 100644 --- a/PLUGINS/src/dvbsddevice/dvbsdffdevice.c +++ b/PLUGINS/src/dvbsddevice/dvbsdffdevice.c @@ -3,7 +3,7 @@ * * See the README file for copyright information and how to reach the author. * - * $Id: dvbsdffdevice.c 3.1 2013/12/25 13:27:00 kls Exp $ + * $Id: dvbsdffdevice.c 3.2 2014/02/27 15:34:33 kls Exp $ */ #include "dvbsdffdevice.h" @@ -400,8 +400,8 @@ bool cDvbSdFfDevice::SetChannelDevice(const cChannel *Channel, bool LiveView) bool DoTune = !IsTunedToTransponder(Channel); - bool pidHandlesVideo = pidHandles[ptVideo].pid == vpid; - bool pidHandlesAudio = pidHandles[ptAudio].pid == apid; + bool pidHandlesVideo = vpid && pidHandles[ptVideo].pid == vpid; + bool pidHandlesAudio = apid && pidHandles[ptAudio].pid == apid; bool TurnOffLivePIDs = DoTune || !IsPrimaryDevice()