diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-06-21 00:47:54 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-06-21 00:47:54 +0000 |
| commit | 24c472e37de8db4007cdd4c5d67d3fd4e914f0b1 (patch) | |
| tree | 48b0395dc60206e2ac8abd1ba5d0b14e310f6d6b /lib/dvb_ci | |
| parent | ea65d88df7ab329f5950a6f5f8fee817c19f78c3 (diff) | |
| download | enigma2-24c472e37de8db4007cdd4c5d67d3fd4e914f0b1.tar.gz enigma2-24c472e37de8db4007cdd4c5d67d3fd4e914f0b1.zip | |
Pip is now working with CI
fixes for more than one CI
Diffstat (limited to 'lib/dvb_ci')
| -rw-r--r-- | lib/dvb_ci/dvbci.cpp | 16 | ||||
| -rw-r--r-- | lib/dvb_ci/dvbci_resmgr.cpp | 4 | ||||
| -rw-r--r-- | lib/dvb_ci/dvbci_ui.cpp | 6 |
3 files changed, 11 insertions, 15 deletions
diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index c24ddd25..9c4e0ac2 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -250,9 +250,6 @@ void eDVBCIInterfaces::recheckPMTHandlers() { for (eSmartPtrList<eDVBCISlot>::iterator ci_it(m_slots.begin()); ci_it != m_slots.end(); ++ci_it) { - if (ci_it->getState() == eDVBCISlot::stateInvalid) - ci_it->reset(); - bool useThis=false; eDVBCICAManagerSession *ca_manager = ci_it->getCAManager(); if (ca_manager) @@ -358,12 +355,15 @@ void eDVBCIInterfaces::removePMTHandler(eDVBServicePMTHandler *pmthandler) bool sameServiceExist=false; for (PMTHandlerList::iterator i=m_pmt_handlers.begin(); i != m_pmt_handlers.end(); ++i) { - eServiceReferenceDVB ref; - i->pmthandler->getServiceReference(ref); - if ( ref == service_to_remove ) + if (i->cislot) { - sameServiceExist=true; - break; + eServiceReferenceDVB ref; + i->pmthandler->getServiceReference(ref); + if ( ref == service_to_remove ) + { + sameServiceExist=true; + break; + } } } diff --git a/lib/dvb_ci/dvbci_resmgr.cpp b/lib/dvb_ci/dvbci_resmgr.cpp index 69ff611c..e9e4bd1b 100644 --- a/lib/dvb_ci/dvbci_resmgr.cpp +++ b/lib/dvb_ci/dvbci_resmgr.cpp @@ -71,10 +71,10 @@ int eDVBCIResourceManagerSession::doAction() {0x00, 0x01, 0x00, 0x41}, {0x00, 0x02, 0x00, 0x41}, {0x00, 0x03, 0x00, 0x41}, - {0x00, 0x20, 0x00, 0x41}, +// {0x00, 0x20, 0x00, 0x41}, // host control {0x00, 0x24, 0x00, 0x41}, {0x00, 0x40, 0x00, 0x41}, - {0x00, 0x10, 0x00, 0x41}, // auth. +// {0x00, 0x10, 0x00, 0x41}, // auth. }; sendAPDU(tag, data, sizeof(data)); state=stateFinal; diff --git a/lib/dvb_ci/dvbci_ui.cpp b/lib/dvb_ci/dvbci_ui.cpp index 56ca25fc..ce9aac1f 100644 --- a/lib/dvb_ci/dvbci_ui.cpp +++ b/lib/dvb_ci/dvbci_ui.cpp @@ -22,7 +22,7 @@ eDVBCI_UI::eDVBCI_UI() slotdata[i].mmiScreen=NULL; slotdata[i].mmiScreenReady=0; slotdata[i].mmiTuplePos=0; - slotdata[i].state=0; + slotdata[i].state=-1; } } @@ -43,11 +43,7 @@ eDVBCI_UI *eDVBCI_UI::getInstance() int eDVBCI_UI::getState(int slot) { if (slot < MAX_SLOTS) - { - if (eDVBCIInterfaces::getInstance()->getSlotState(slot) == eDVBCISlot::stateInvalid) - eDVBCIInterfaces::getInstance()->reset(slot); return slotdata[slot].state; - } return 0; } |
