fix removing .eit files
[enigma2.git] / lib / service / servicedvb.cpp
index 0fdeb743213ac957576dc0db29548c0bf91097a5..6e2d9610dbbaf1c94cf6065aa68ff99bd16bb896 100644 (file)
@@ -251,7 +251,9 @@ RESULT eDVBPVRServiceOfflineOperations::getListOfFilenames(std::list<std::string
        res.push_back(m_ref.path + ".meta");
        res.push_back(m_ref.path + ".ap");
        res.push_back(m_ref.path + ".cuts");
-       res.push_back(m_ref.path + ".eit");
+       std::string tmp = m_ref.path;
+       tmp.erase(m_ref.path.length()-3);
+       res.push_back(tmp + ".eit");
        return 0;
 }
 
@@ -633,6 +635,9 @@ void eDVBServicePlay::serviceEventTimeshift(int event)
                if (m_timeshift_active)
                        updateDecoder();
                break;
+       case eDVBServicePMTHandler::eventSOF:
+               m_event((iPlayableService*)this, evSOF);
+               break;
        case eDVBServicePMTHandler::eventEOF:
                switchToLive();
                break;
@@ -1172,18 +1177,19 @@ PyObject *eDVBServicePlay::getFrontendData(bool original)
                                        eDVBFrontendParametersSatellite osat;
                                        if (!feparm->getDVBS(osat))
                                        {
-                                               void PutToDict(PyObject *dict, const char*key, long value);
+                                               void PutToDict(PyObject *, const char*, long);
+                                               void PutToDict(PyObject *, const char*, const char*);
                                                PutToDict(ret, "orbital_position", osat.orbital_position);
-                                               const char *tmp = "unknown";
+                                               const char *tmp = "UNKNOWN";
                                                switch(osat.polarisation)
                                                {
-                                                       case eDVBFrontendParametersSatellite::Polarisation::Horizontal: tmp="horizontal"; break;
-                                                       case eDVBFrontendParametersSatellite::Polarisation::Vertical: tmp="vertical"; break;
-                                                       case eDVBFrontendParametersSatellite::Polarisation::CircularLeft: tmp="circular_left"; break;
-                                                       case eDVBFrontendParametersSatellite::Polarisation::CircularRight: tmp="circular_right"; break;
+                                                       case eDVBFrontendParametersSatellite::Polarisation::Horizontal: tmp="HORIZONTAL"; break;
+                                                       case eDVBFrontendParametersSatellite::Polarisation::Vertical: tmp="VERTICAL"; break;
+                                                       case eDVBFrontendParametersSatellite::Polarisation::CircularLeft: tmp="CIRCULAR_LEFT"; break;
+                                                       case eDVBFrontendParametersSatellite::Polarisation::CircularRight: tmp="CIRCULAR_RIGHT"; break;
                                                        default:break;
                                                }
-                                               PutToDict(ret, "polarization", osat.polarisation);
+                                               PutToDict(ret, "polarization", tmp);
                                        }
                                }
                        }
@@ -1435,6 +1441,7 @@ void eDVBServicePlay::switchToTimeshift()
        r.path = m_timeshift_file;
        
        m_service_handler_timeshift.tune(r, 1, m_cue); /* use the decoder demux for everything */
+       updateDecoder(); /* mainly to switch off PCR */
 }
 
 void eDVBServicePlay::updateDecoder()