add - untestd - frontend compatibility/priority check
[enigma2.git] / lib / dvb / scan.cpp
index 2be8a66db0cc23b6ca559d9522b9c663ab052799..b30f702e3cbd27260fc63f577eab777ec0cd768a 100644 (file)
@@ -328,7 +328,7 @@ void eDVBScan::channelDone()
        nextChannel();
 }
 
-void eDVBScan::start(const std::list<ePtr<iDVBFrontendParameters> > &known_transponders)
+void eDVBScan::start(const eSmartPtrList<iDVBFrontendParameters> &known_transponders)
 {
        m_ch_toScan.clear();
        m_ch_scanned.clear();
@@ -389,6 +389,13 @@ RESULT eDVBScan::processSDT(eDVBNamespace dvbnamespace, const ServiceDescription
                        {
                                ServiceDescriptor &d = (ServiceDescriptor&)**desc;
                                service->m_service_name = convertDVBUTF8(d.getServiceName());
+                               service->m_service_name_sort = convertDVBUTF8(d.getServiceName());
+
+                               service->m_service_name_sort = removeDVBChars(service->m_service_name);
+                               makeUpper(service->m_service_name_sort);
+                                       while ((!service->m_service_name_sort.empty()) && service->m_service_name_sort[0] == ' ')
+                               service->m_service_name_sort.erase(0, 1);
+
                                service->m_provider_name = convertDVBUTF8(d.getServiceProviderName());
                                SCAN_eDebug("name '%s', provider_name '%s'", service->m_service_name.c_str(), service->m_provider_name.c_str());
                                break;