X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/bfcc745e958a34a457086f003013ca9b69959dea..a09a2c37fba28debfdb1803a1a38c113ed937a23:/lib/service/servicedvb.cpp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 0dbc8be0..12b75f80 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -102,7 +102,7 @@ extern void PutToDict(ePyObject &dict, const char*key, const char *value); // de void PutSatelliteDataToDict(ePyObject &dict, eDVBFrontendParametersSatellite &feparm) { - PutToDict(dict, "type", "DVB-S"); + PutToDict(dict, "tuner_type", "DVB-S"); PutToDict(dict, "frequency", feparm.frequency); PutToDict(dict, "symbol_rate", feparm.symbol_rate); PutToDict(dict, "orbital_position", feparm.orbital_position); @@ -120,7 +120,7 @@ void PutSatelliteDataToDict(ePyObject &dict, eDVBFrontendParametersSatellite &fe void PutTerrestrialDataToDict(ePyObject &dict, eDVBFrontendParametersTerrestrial &feparm) { - PutToDict(dict, "type", "DVB-T"); + PutToDict(dict, "tuner_type", "DVB-T"); PutToDict(dict, "frequency", feparm.frequency); PutToDict(dict, "bandwidth", feparm.bandwidth); PutToDict(dict, "code_rate_lp", feparm.code_rate_LP); @@ -134,7 +134,7 @@ void PutTerrestrialDataToDict(ePyObject &dict, eDVBFrontendParametersTerrestrial void PutCableDataToDict(ePyObject &dict, eDVBFrontendParametersCable &feparm) { - PutToDict(dict, "type", "DVB-C"); + PutToDict(dict, "tuner_type", "DVB-C"); PutToDict(dict, "frequency", feparm.frequency); PutToDict(dict, "symbol_rate", feparm.symbol_rate); PutToDict(dict, "modulation", feparm.modulation); @@ -370,13 +370,17 @@ int eStaticServiceDVBPVRInformation::getLength(const eServiceReference &ref) struct stat s; stat(ref.path.c_str(), &s); - if (tstools.openFile(ref.path.c_str())) + if (tstools.openFile(ref.path.c_str(), 1)) return 0; /* check if cached data is still valid */ if (m_parser.m_data_ok && (s.st_size == m_parser.m_filesize) && (m_parser.m_length)) return m_parser.m_length / 90000; + /* open again, this time with stream info */ + if (tstools.openFile(ref.path.c_str())) + return 0; + /* otherwise, re-calc length and update meta file */ pts_t len; if (tstools.calcLen(len)) @@ -520,6 +524,7 @@ eServiceFactoryDVB::eServiceFactoryDVB() { std::list extensions; extensions.push_back("ts"); + extensions.push_back("trp"); sc->addServiceFactory(eServiceFactoryDVB::id, this, extensions); } @@ -1600,6 +1605,8 @@ RESULT eDVBServicePlay::getTrackInfo(struct iAudioTrackInfo &info, unsigned int info.m_description = "AC3"; else if (program.audioStreams[i].type == eDVBServicePMTHandler::audioStream::atAAC) info.m_description = "AAC"; + else if (program.audioStreams[i].type == eDVBServicePMTHandler::audioStream::atAACHE) + info.m_description = "AAC-HE"; else if (program.audioStreams[i].type == eDVBServicePMTHandler::audioStream::atDTS) info.m_description = "DTS"; else @@ -1849,20 +1856,7 @@ PyObject *eDVBServiceBase::getTransponderData(bool original) { ePtr fe; if(!channel->getFrontend(fe)) - { fe->getTransponderData(ret, original); - ePtr 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