diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2017-03-23 14:34:53 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2017-03-23 14:34:53 +0100 |
commit | 2d9eb7e25dc08d700b5d2c97d0baf36d5aa35f96 (patch) | |
tree | e37483f46ccd457aea0900310ae0345385aaf808 /ci.h | |
parent | b7be7c900a4ce4ab74cbc52cee563ff4f0b5bf8f (diff) | |
download | vdr-2d9eb7e25dc08d700b5d2c97d0baf36d5aa35f96.tar.gz vdr-2d9eb7e25dc08d700b5d2c97d0baf36d5aa35f96.tar.bz2 |
Mapping PIDs in CanDecrypt(); improved description of Start-/StopDecrypting(); removed obsolete cMtdCamSlot::IsDecrypting(); fixed getting device fpr channel up/down
Diffstat (limited to 'ci.h')
-rw-r--r-- | ci.h | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: ci.h 4.4 2017/03/19 10:48:14 kls Exp $ + * $Id: ci.h 4.5 2017/03/23 14:23:33 kls Exp $ */ #ifndef __CI_H @@ -314,7 +314,7 @@ public: ///< If the source or transponder of the channel are different than ///< what was given in a previous call to AddChannel(), any previously ///< added PIDs will be cleared. - virtual bool CanDecrypt(const cChannel *Channel); + virtual bool CanDecrypt(const cChannel *Channel, cMtdMapper *MtdMapper = NULL); ///< Returns true if there is a CAM in this slot that is able to decrypt ///< the given Channel (or at least claims to be able to do so). ///< Since the QUERY/REPLY mechanism for CAMs is pretty unreliable (some @@ -325,11 +325,18 @@ public: ///< to the initial QUERY will perform this check at all. CAMs that never ///< replied to the initial QUERY are assumed not to be able to handle ///< more than one channel at a time. + ///< If MtdMapper is given, all SIDs and PIDs will be mapped accordingly. virtual void StartDecrypting(void); - ///< Triggers sending all currently active CA_PMT entries to the CAM, - ///< so that it will start decrypting. + ///< Sends all CA_PMT entries to the CAM that have been modified since the + ///< last call to this function. This includes CA_PMTs that have been + ///< added or activated, as well as ones that have been deactivated. + ///< StartDecrypting() will be called whenever a PID is activated or + ///< deactivated. virtual void StopDecrypting(void); ///< Clears the list of CA_PMT entries and tells the CAM to stop decrypting. + ///< Note that this function is only called when there are no more PIDs for + ///< the CAM to decrypt. There is no symmetry between StartDecrypting() and + ///< StopDecrypting(). virtual bool IsDecrypting(void); ///< Returns true if the CAM in this slot is currently used for decrypting. virtual uchar *Decrypt(uchar *Data, int &Count); |