X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5bd64b0b0c3e07df7f316c9fe403c19c421057fc..007c9240c1be4f000d98b0193c65440b9e1fb0e5:/lib/service/servicedvb.cpp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index a8485fa4..307c317f 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -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 extensions; + extensions.push_back("ts"); + sc->addServiceFactory(eServiceFactoryDVB::id, this, extensions); + } m_StaticServiceDVBInfo = new eStaticServiceDVBInformation; m_StaticServiceDVBBouquetInfo = new eStaticServiceDVBBouquetInformation; @@ -1096,6 +1110,7 @@ void eDVBServicePlay::serviceEvent(int event) else m_event_handler.start(m_demux, sid); } + m_event((iPlayableService*)this, evTunedIn); break; } case eDVBServicePMTHandler::eventNoResources: @@ -1216,8 +1231,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;