aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb_ci
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-06-01 14:16:24 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-06-01 14:16:24 +0000
commited2ffac89d41e126a3a9cc951b0b112a5303ac19 (patch)
tree52db9df84d9ec92909621e71f2b1197537c0b456 /lib/dvb_ci
parentc89cc6f801c9cc7040994b76b794412f3cd30a30 (diff)
downloadenigma2-ed2ffac89d41e126a3a9cc951b0b112a5303ac19.tar.gz
enigma2-ed2ffac89d41e126a3a9cc951b0b112a5303ac19.zip
fix endless loop when more than one CI can handle a service
Diffstat (limited to 'lib/dvb_ci')
-rw-r--r--lib/dvb_ci/dvbci.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp
index 800a40d2..e9055348 100644
--- a/lib/dvb_ci/dvbci.cpp
+++ b/lib/dvb_ci/dvbci.cpp
@@ -368,6 +368,7 @@ void eDVBCIInterfaces::recheckPMTHandlers()
{
if (tmp == ci_it)
break;
+ tmp=tmp->linked_next;
}
if (tmp) // ignore already assigned cislots...
@@ -1040,9 +1041,9 @@ int eDVBCISlot::sendCAPMT(eDVBServicePMTHandler *pmthandler, const std::vector<u
{
unsigned char raw_data[2048];
-// eDebug("send %s capmt for service %04x",
+// eDebug("send %s capmt for service %04x to slot %d",
// it != running_services.end() ? "UPDATE" : running_services.empty() ? "ONLY" : "ADD",
-// program_number);
+// program_number, slotid);
CaProgramMapSection capmt(*i++,
it != running_services.end() ? 0x05 /*update*/ : running_services.empty() ? 0x03 /*only*/ : 0x04 /*add*/, 0x01, caids );