cleanup code
[enigma2.git] / lib / service / servicedvb.cpp
index 2d770fb05eb2486bcce401a284a106af238859b2..ae55aa628613166e54609817a3b88e74f915b326 100644 (file)
@@ -166,15 +166,25 @@ void PutSatelliteDataToDict(ePyObject &dict, eDVBFrontendParametersSatellite &fe
                default:
                case eDVBFrontendParametersSatellite::System::DVB_S: tmp="DVB-S"; break;
                case eDVBFrontendParametersSatellite::System::DVB_S2:
-                       switch(feparm.roll_off)
+                       switch(feparm.rolloff)
                        {
+                               default:
                                case eDVBFrontendParametersSatellite::RollOff::alpha_0_35: tmp="0.35"; break;
                                case eDVBFrontendParametersSatellite::RollOff::alpha_0_25: tmp="0.25"; break;
                                case eDVBFrontendParametersSatellite::RollOff::alpha_0_20: tmp="0.20"; break;
-                               default:
-                               case eDVBFrontendParametersSatellite::RollOff::alpha_auto: tmp="AUTO"; break;
                        }
                        PutToDict(dict, "roll off", tmp);
+                       if (feparm.modulation == eDVBFrontendParametersSatellite::Modulation::M8PSK)
+                       {
+                               switch(feparm.pilot)
+                               {
+                                       case eDVBFrontendParametersSatellite::Pilot::On: tmp="ON"; break;
+                                       case eDVBFrontendParametersSatellite::Pilot::Off: tmp="OFF"; break;
+                                       default:
+                                       case eDVBFrontendParametersSatellite::Pilot::Unknown: tmp="AUTO"; break;
+                               }
+                               PutToDict(dict, "pilot", tmp);
+                       }
                        tmp="DVB-S2";
                        break;
        }
@@ -668,7 +678,11 @@ eServiceFactoryDVB::eServiceFactoryDVB()
        
        eServiceCenter::getPrivInstance(sc);
        if (sc)
-               sc->addServiceFactory(eServiceFactoryDVB::id, this);
+       {
+               std::list<std::string> extensions;
+               extensions.push_back("ts");
+               sc->addServiceFactory(eServiceFactoryDVB::id, this, extensions);
+       }
 
        m_StaticServiceDVBInfo = new eStaticServiceDVBInformation;
        m_StaticServiceDVBBouquetInfo = new eStaticServiceDVBBouquetInformation;
@@ -809,7 +823,7 @@ PyObject *eDVBServiceList::getContent(const char* format, bool sorted)
                                                        sptr->getName(ref, name);
 
                                                        // filter short name brakets
-                                                       unsigned int pos;
+                                                       size_t pos;
                                                        while((pos = name.find("\xc2\x86")) != std::string::npos)
                                                                name.erase(pos,2);
                                                        while((pos = name.find("\xc2\x87")) != std::string::npos)
@@ -1216,8 +1230,8 @@ RESULT eDVBServicePlay::stop()
                        {
                                int perc = play_position * 100LL / length;
                        
-                                       /* only store last play position when between 5% and 95% */
-                               if ((5 < perc) && (perc < 95))
+                                       /* only store last play position when between 1% and 99% */
+                               if ((1 < perc) && (perc < 99))
                                        m_cue_entries.insert(cueEntry(play_position, 3)); /* last play position */
                        }
                        m_cuesheet_changed = 1;
@@ -2563,7 +2577,16 @@ void eDVBServicePlay::cutlistToCuesheet()
                        }
                }
                
-               if (in != out)
+               if (in < 0)
+                       in = 0;
+               if (out < 0)
+                       out = 0;
+               if (in > length)
+                       in = length;
+               if (out > length)
+                       out = length;
+               
+               if (in < out)
                        m_cue->addSourceSpan(in, out);
                
                in = length;