servicemp3.cpp: more simple/flexible streaming detection
[enigma2.git] / lib / dvb_ci / dvbci.cpp
index 342f06a66aea27b36cedb8500c578e289b3e56fb..374672ae1903e5dfa01ba8a36bd6907454f2a045 100644 (file)
@@ -297,7 +297,8 @@ void eDVBCIInterfaces::recheckPMTHandlers()
                if (!pmthandler->getProgramInfo(p))
                {
                        int cnt=0;
-                       for (std::set<eDVBServicePMTHandler::program::capid_pair>::reverse_iterator x(p.caids.rbegin()); x != p.caids.rend(); ++x, ++cnt)
+                       std::set<eDVBServicePMTHandler::program::capid_pair> set(p.caids.begin(), p.caids.end());
+                       for (std::set<eDVBServicePMTHandler::program::capid_pair>::reverse_iterator x(set.rbegin()); x != set.rend(); ++x, ++cnt)
                                caids.push_front(x->caid);
                        if (service && cnt)
                                service->m_ca = caids;
@@ -738,7 +739,7 @@ PyObject *eDVBCIInterfaces::getDescrambleRules(int slotid)
        if (!slot)
        {
                char tmp[255];
-               snprintf(tmp, 255, "eDVBCIInterfaces::getDescrambleRules try to get rules for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
+               snprintf(tmp, 255, "eDVBCIInterfaces::getDescrambleRules try to get rules for CI Slot %d... but just %zd slots are available", slotid, m_slots.size());
                PyErr_SetString(PyExc_StandardError, tmp);
                return 0;
        }
@@ -790,7 +791,7 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject)
        if (!slot)
        {
                char tmp[255];
-               snprintf(tmp, 255, "eDVBCIInterfaces::setDescrambleRules try to set rules for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
+               snprintf(tmp, 255, "eDVBCIInterfaces::setDescrambleRules try to set rules for CI Slot %d... but just %zd slots are available", slotid, m_slots.size());
                PyErr_SetString(PyExc_StandardError, tmp);
                return -1;
        }
@@ -861,7 +862,7 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject)
                if (PyTuple_Size(tuple) != 2)
                {
                        char buf[255];
-                       snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules provider tuple has %d instead of 2 entries!!", PyTuple_Size(tuple));
+                       snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules provider tuple has %zd instead of 2 entries!!", PyTuple_Size(tuple));
                        PyErr_SetString(PyExc_StandardError, buf);
                        return -1;
                }
@@ -913,7 +914,7 @@ PyObject *eDVBCIInterfaces::readCICaIds(int slotid)
        if (!slot)
        {
                char tmp[255];
-               snprintf(tmp, 255, "eDVBCIInterfaces::readCICaIds try to get CAIds for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
+               snprintf(tmp, 255, "eDVBCIInterfaces::readCICaIds try to get CAIds for CI Slot %d... but just %zd slots are available", slotid, m_slots.size());
                PyErr_SetString(PyExc_StandardError, tmp);
        }
        else