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))
{
std::list<std::string> extensions;
extensions.push_back("ts");
+ extensions.push_back("trp");
sc->addServiceFactory(eServiceFactoryDVB::id, this, extensions);
}
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
{
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
}
}
}
- m_decoder->setAC3Delay(ac3_delay == -1 ? 0 : ac3_delay);
- m_decoder->setPCMDelay(pcm_delay == -1 ? 0 : pcm_delay);
+
+ std::string config_delay;
+ int config_delay_int = 0;
+ if(ePythonConfigQuery::getConfigValue("config.av.generalAC3delay", config_delay) == 0)
+ config_delay_int = atoi(config_delay.c_str());
+ m_decoder->setAC3Delay(ac3_delay == -1 ? config_delay_int : ac3_delay + config_delay_int);
+
+ if(ePythonConfigQuery::getConfigValue("config.av.generalPCMdelay", config_delay) == 0)
+ config_delay_int = atoi(config_delay.c_str());
+ else
+ config_delay_int = 0;
+ m_decoder->setPCMDelay(pcm_delay == -1 ? config_delay_int : pcm_delay + config_delay_int);
m_decoder->setVideoPID(vpid, vpidtype);
selectAudioStream();