Merge branch 'master' of /home/tmbinc/enigma2-git into tmbinc/FixTimingBugs
[enigma2.git] / lib / service / servicedvb.cpp
index e3d960d45a387ab29db0c82a6d3e492d77e24c0c..14c849db07d4d6610e1548304f339d142bb06abf 100644 (file)
@@ -525,6 +525,7 @@ eServiceFactoryDVB::eServiceFactoryDVB()
        {
                std::list<std::string> extensions;
                extensions.push_back("ts");
+               extensions.push_back("trp");
                sc->addServiceFactory(eServiceFactoryDVB::id, this, extensions);
        }
 
@@ -1183,7 +1184,7 @@ RESULT eDVBServicePlay::setFastForward_internal(int ratio)
                return -1;
                
        if (ffratio == 0)
-               return m_decoder->play();
+               ; /* return m_decoder->play(); is done in caller*/
        else if (ffratio != 1)
                return m_decoder->setFastForward(ffratio);
        else
@@ -1877,20 +1878,7 @@ PyObject *eDVBServiceBase::getTransponderData(bool original)
                {
                        ePtr<iDVBFrontend> fe;
                        if(!channel->getFrontend(fe))
-                       {
                                fe->getTransponderData(ret, original);
-                               ePtr<iDVBFrontendParameters> feparm;
-                               channel->getCurrentFrontendParameters(feparm);
-                               if (feparm)
-                               {
-                                       eDVBFrontendParametersSatellite osat;
-                                       if (!feparm->getDVBS(osat))
-                                       {
-                                               PutToDict(ret, "orbital_position", osat.orbital_position);
-                                               PutToDict(ret, "polarization", osat.polarisation);
-                                       }
-                               }
-                       }
                }
        }
        else
@@ -2189,7 +2177,7 @@ void eDVBServicePlay::switchToTimeshift()
        r.path = m_timeshift_file;
 
        m_cue = new eCueSheet();
-       m_service_handler_timeshift.tune(r, 1, m_cue); /* use the decoder demux for everything */
+       m_service_handler_timeshift.tune(r, 1, m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
 
        eDebug("eDVBServicePlay::switchToTimeshift, in pause mode now.");
        pause();
@@ -2318,10 +2306,9 @@ void eDVBServicePlay::updateDecoder()
 
                m_teletext_parser->start(program.textPid);
 
-               if (!m_is_primary)
+/*             if (!m_is_primary)
                        m_decoder->setTrickmode();
-
-               if (m_is_paused)
+               else */ if (m_is_paused)
                        m_decoder->pause();
                else
                        m_decoder->play();
@@ -2346,7 +2333,7 @@ void eDVBServicePlay::updateDecoder()
                        m_dvb_service->setCacheEntry(eDVBService::cPCRPID, pcrpid);
                        m_dvb_service->setCacheEntry(eDVBService::cTPID, tpid);
                }
-       }       
+       }
        m_have_video_pid = (vpid > 0 && vpid < 0x2000);
 }