From 120fb54d495f3770dad3ea7d98b7abaacfc6bb0e Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Thu, 8 Mar 2012 10:04:16 +0100 Subject: [PATCH] Fixed checking pids in case a channel has only Dolby Digital audio --- HISTORY | 3 ++- dvbdevice.c | 4 ++-- vdr.c | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/HISTORY b/HISTORY index cfd4b912..9e682111 100644 --- a/HISTORY +++ b/HISTORY @@ -6960,7 +6960,7 @@ Video Disk Recorder Revision History which was made in version 1.1.10, so please report if this has any unwanted side effects. -2012-03-07: Version 1.7.26 +2012-03-08: Version 1.7.26 - Now checking for NULL in cOsd::AddPixmap() (suggested by Christoph Haubrich). - Fixed the German translation of "VDR will shut down in %s minutes" (thanks to @@ -6993,3 +6993,4 @@ Video Disk Recorder Revision History broadcast Dolby Digital audio there were sometimes log entries like "changing pids of channel ... from ... to ..." with no apparent difference between the old and new set of pids. +- Fixed checking pids in case a channel has only Dolby Digital audio. diff --git a/dvbdevice.c b/dvbdevice.c index ce45ba51..4c9268f4 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 2.66 2012/03/07 13:37:01 kls Exp $ + * $Id: dvbdevice.c 2.67 2012/03/08 09:49:58 kls Exp $ */ #include "dvbdevice.h" @@ -1446,7 +1446,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne if (Priority >= 0) { if (Receiving()) { if (dvbTuner->IsTunedTo(Channel)) { - if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid(0) && !HasPid(Channel->Apid(0))) { + if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid(0) && !HasPid(Channel->Apid(0)) || Channel->Dpid(0) && !HasPid(Channel->Dpid(0))) { if (CamSlot() && Channel->Ca() >= CA_ENCRYPTED_MIN) { if (CamSlot()->CanDecrypt(Channel)) result = true; diff --git a/vdr.c b/vdr.c index 9715d885..b19730b0 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.tvdr.de * - * $Id: vdr.c 2.32 2012/03/06 12:14:17 kls Exp $ + * $Id: vdr.c 2.33 2012/03/08 09:51:52 kls Exp $ */ #include @@ -761,7 +761,7 @@ int main(int argc, char *argv[]) static time_t lastTime = 0; if ((!Menu || CheckHasProgramme) && Now - lastTime > MINCHANNELWAIT) { // !Menu to avoid interfering with the CAM if a CAM menu is open cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel()); - if (Channel && (Channel->Vpid() || Channel->Apid(0))) { + if (Channel && (Channel->Vpid() || Channel->Apid(0) || Channel->Dpid(0))) { if (cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY) && Channels.SwitchTo(Channel->Number())) // try to switch to the original channel... ; else if (LastTimerChannel > 0) {