diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2014-01-15 10:21:48 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2014-01-15 10:21:48 +0100 |
commit | ac44e6f2ae245908800a9fefe53828ef05a023d1 (patch) | |
tree | e21211e1927e8b63bcb3bed01f6e214f21dd91a7 | |
parent | 1d869c4b36d1e1a48a9a3acb6bad58f952302cc0 (diff) | |
download | vdr-ac44e6f2ae245908800a9fefe53828ef05a023d1.tar.gz vdr-ac44e6f2ae245908800a9fefe53828ef05a023d1.tar.bz2 |
Added logging the supported system ids of a CAM
-rw-r--r-- | HISTORY | 3 | ||||
-rw-r--r-- | ci.c | 5 |
2 files changed, 6 insertions, 2 deletions
@@ -8132,7 +8132,7 @@ Video Disk Recorder Revision History and also to use the correct directory with --edit (the latter reported by Marko Mäkelä). -2014-01-14: Version 2.1.4 +2014-01-15: Version 2.1.4 - Updated 'sources.conf' (thanks to Antti Hartikainen). - cFont::CreateFont() now returns a dummy font in case there are no fonts installed. @@ -8142,3 +8142,4 @@ Video Disk Recorder Revision History that are implemented in a plugin. - Fixed sending CA descriptors to CAMs in case a cReceiver is not used for a recording or live view, like e.g. streaming clients (thanks to Mariusz Bialonczyk). +- Added logging the supported system ids of a CAM. @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: ci.c 3.6 2014/01/14 14:36:29 kls Exp $ + * $Id: ci.c 3.7 2014/01/15 10:20:48 kls Exp $ */ #include "ci.h" @@ -723,11 +723,13 @@ void cCiConditionalAccessSupport::Process(int Length, const uint8_t *Data) switch (Tag) { case AOT_CA_INFO: { dbgprotocol("Slot %d: <== Ca Info (%d)", Tc()->CamSlot()->SlotNumber(), SessionId()); + cString Ids; numCaSystemIds = 0; int l = 0; const uint8_t *d = GetData(Data, l); while (l > 1) { uint16_t id = ((uint16_t)(*d) << 8) | *(d + 1); + Ids = cString::sprintf("%s %04X", *Ids ? *Ids : "", id); dbgprotocol(" %04X", id); d += 2; l -= 2; @@ -744,6 +746,7 @@ void cCiConditionalAccessSupport::Process(int Length, const uint8_t *Data) timer.Set(QUERY_WAIT_TIME); // WORKAROUND: Alphacrypt 3.09 doesn't reply to QUERY immediately after reset state = 2; // got ca info } + dsyslog("CAM %d: system ids:%s", Tc()->CamSlot()->SlotNumber(), *Ids ? *Ids : " none"); } break; case AOT_CA_PMT_REPLY: { |