Limited some CAM related log messages to the actual master CAM, if any

This commit is contained in:
Klaus Schmidinger 2018-02-03 12:59:56 +01:00
parent c71c3115cc
commit c441a634a5
3 changed files with 10 additions and 7 deletions

View File

@ -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.

10
ci.c
View File

@ -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);
}
}

4
ci.h
View File

@ -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.