summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY3
-rw-r--r--ci.c10
-rw-r--r--ci.h4
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.