From c441a634a5c2790849e8b87fb3eee86b29569c7b Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 3 Feb 2018 12:59:56 +0100 Subject: [PATCH] Limited some CAM related log messages to the actual master CAM, if any --- HISTORY | 3 ++- ci.c | 10 ++++++---- ci.h | 4 ++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/HISTORY b/HISTORY index adfc2432..7cd4585e 100644 --- a/HISTORY +++ b/HISTORY @@ -9162,7 +9162,7 @@ Video Disk Recorder Revision History a subdirectory. - SVDRP peering can now be limited to the default SVDRP host (see MANUAL for details). -2018-02-01: Version 2.3.9 +2018-02-03: Version 2.3.9 - Updated the Italian OSD texts (thanks to Diego Pierotto). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). @@ -9253,3 +9253,4 @@ Video Disk Recorder Revision History - Fixed handling editing marks in the replay progress display, in case the marks are deleted via the Info/Edit menu of the currently played recording (the progress display still displayed them). +- Limited some CAM related log messages to the actual master CAM, if any. diff --git a/ci.c b/ci.c index 3eb40cb6..8ad50e43 100644 --- a/ci.c +++ b/ci.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: ci.c 4.19 2018/01/28 11:14:40 kls Exp $ + * $Id: ci.c 4.20 2018/02/03 12:55:03 kls Exp $ */ #include "ci.h" @@ -306,7 +306,7 @@ void cCaActivationReceiver::Receive(const uchar *Data, int Length) if (TsIsScrambled(Data)) lastScrambledTime = Now; else if (Now - lastScrambledTime > UNSCRAMBLE_TIME) { - dsyslog("CAM %d: activated!", camSlot->SlotNumber()); + dsyslog("CAM %d: activated!", camSlot->MasterSlotNumber()); Skins.QueueMessage(mtInfo, tr("CAM activated!")); cDevice *d = Device(); Detach(); @@ -1138,10 +1138,12 @@ void cCiConditionalAccessSupport::Process(int Length, const uint8_t *Data) case AOT_CA_PMT_REPLY: { dbgprotocol("Slot %d: <== Ca Pmt Reply (%d)", CamSlot()->SlotNumber(), SessionId()); if (!repliesToQuery) { - dsyslog("CAM %d: replies to QUERY - multi channel decryption (MCD) possible", CamSlot()->SlotNumber()); + if (CamSlot()->IsMasterSlot()) + dsyslog("CAM %d: replies to QUERY - multi channel decryption (MCD) possible", CamSlot()->SlotNumber()); repliesToQuery = true; if (CamSlot()->MtdAvailable()) { - dsyslog("CAM %d: supports multi transponder decryption (MTD)", CamSlot()->SlotNumber()); + if (CamSlot()->IsMasterSlot()) + dsyslog("CAM %d: supports multi transponder decryption (MTD)", CamSlot()->SlotNumber()); CamSlot()->MtdActivate(true); } } diff --git a/ci.h b/ci.h index 90267911..411479a9 100644 --- a/ci.h +++ b/ci.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: ci.h 4.10 2017/06/10 11:53:39 kls Exp $ + * $Id: ci.h 4.11 2018/02/03 12:19:44 kls Exp $ */ #ifndef __CI_H @@ -304,7 +304,7 @@ public: virtual ~cCamSlot(); bool IsMasterSlot(void) { return !masterSlot; } ///< Returns true if this CAM slot itself is a master slot (which means that - ///< it doesn't have pointer to another CAM slot that's its master). + ///< it doesn't have a pointer to another CAM slot that's its master). cCamSlot *MasterSlot(void) { return masterSlot ? masterSlot : this; } ///< Returns this CAM slot's master slot, or a pointer to itself if it is a ///< master slot.