{
ePtr<eDVBResourceManager> res_mgr;
if ( eDVBResourceManager::getInstance( res_mgr ) )
- eDebug("isPlayble... no res manager!!");
+ eDebug("isPlayable... no res manager!!");
else
{
eDVBChannelID chid, chid_ignore;
void PutSatelliteDataToDict(ePyObject &dict, eDVBFrontendParametersSatellite &feparm)
{
const char *tmp=0;
- PutToDict(dict, "type", "satellite");
+ PutToDict(dict, "type", "Satellite");
PutToDict(dict, "frequency", feparm.frequency);
PutToDict(dict, "symbolrate", feparm.symbol_rate);
PutToDict(dict, "orbital position", feparm.orbital_position);
void PutTerrestrialDataToDict(ePyObject &dict, eDVBFrontendParametersTerrestrial &feparm)
{
- PutToDict(dict, "type", "terrestrial");
+ PutToDict(dict, "type", "Terrestrial");
PutToDict(dict, "frequency", feparm.frequency);
const char *tmp=0;
switch (feparm.bandwidth)
{
- case eDVBFrontendParametersTerrestrial::Bandwidth::Bw8MHz: tmp="8 Mhz"; break;
- case eDVBFrontendParametersTerrestrial::Bandwidth::Bw7MHz: tmp="7 Mhz"; break;
- case eDVBFrontendParametersTerrestrial::Bandwidth::Bw6MHz: tmp="6 Mhz"; break;
+ case eDVBFrontendParametersTerrestrial::Bandwidth::Bw8MHz: tmp="8 MHz"; break;
+ case eDVBFrontendParametersTerrestrial::Bandwidth::Bw7MHz: tmp="7 MHz"; break;
+ case eDVBFrontendParametersTerrestrial::Bandwidth::Bw6MHz: tmp="6 MHz"; break;
default:
case eDVBFrontendParametersTerrestrial::Bandwidth::BwAuto: tmp="AUTO"; break;
}
void PutCableDataToDict(ePyObject &dict, eDVBFrontendParametersCable &feparm)
{
const char *tmp=0;
- PutToDict(dict, "type", "cable");
+ PutToDict(dict, "type", "Cable");
PutToDict(dict, "frequency", feparm.frequency);
PutToDict(dict, "symbolrate", feparm.symbol_rate);
switch (feparm.modulation)
PutCableDataToDict(dict, c);
break;
}
+ default:
+ eDebug("unknown frontend type %d", system);
+ Py_DECREF(dict);
+ break;
}
+ return dict;
}
}
}
}
break;
}
+ case eDVBServicePMTHandler::eventNoResources:
case eDVBServicePMTHandler::eventNoPAT:
case eDVBServicePMTHandler::eventNoPATEntry:
case eDVBServicePMTHandler::eventNoPMT:
to start recording from the data demux. */
if (m_is_pvr)
m_cue = new eCueSheet();
+ else
+ m_event(this, evStart);
m_first_program_info = 1;
eServiceReferenceDVB &service = (eServiceReferenceDVB&)m_reference;
}
if (m_is_pvr)
+ {
loadCuesheet();
+ m_event(this, evStart);
+ }
- m_event(this, evStart);
m_event((iPlayableService*)this, evSeekableStatusChanged);
return 0;
}
close(m_timeshift_fd);
eDebug("remove timeshift file");
- remove(m_timeshift_file.c_str());
+ eBackgroundFileEraser::getInstance()->erase(m_timeshift_file.c_str());
return 0;
}
i != program.audioStreams.end(); ++i)
pids_to_record.insert(i->pid);
+ for (std::vector<eDVBServicePMTHandler::subtitleStream>::const_iterator
+ i(program.subtitleStreams.begin());
+ i != program.subtitleStreams.end(); ++i)
+ pids_to_record.insert(i->pid);
+
std::set<int> new_pids, obsolete_pids;
std::set_difference(pids_to_record.begin(), pids_to_record.end(),
m_new_dvb_subtitle_page_connection = 0;
m_new_subtitle_page_connection = 0;
m_radiotext_updated_connection = 0;
+ m_video_event_connection = 0;
/* free the timeshift service handler, we need the resources */
m_service_handler_timeshift.free();
m_new_subtitle_page_connection = 0;
m_new_dvb_subtitle_page_connection = 0;
m_radiotext_updated_connection = 0;
+ m_video_event_connection = 0;
m_timeshift_active = 1;
- m_event((iPlayableService*)this, evSeekableStatusChanged);
-
eServiceReferenceDVB r = (eServiceReferenceDVB&)m_reference;
r.path = m_timeshift_file;
m_cue = new eCueSheet();
m_service_handler_timeshift.tune(r, 1, m_cue); /* use the decoder demux for everything */
updateDecoder(); /* mainly to switch off PCR */
+
+ m_event((iPlayableService*)this, evSeekableStatusChanged);
}
void eDVBServicePlay::updateDecoder()
void eDVBServicePlay::video_event(struct iTSMPEGDecoder::videoEvent event)
{
- eDebug("!!!!!!!!!! Video Event type %d, aspect %d, %dx%d", event.type, event.aspect, event.width, event.height);
memcpy(&m_videoEventData, &event, sizeof(iTSMPEGDecoder::videoEvent));
m_event((iPlayableService*)this, evVideoSizeChanged);
}
DEFINE_REF(eDVBServicePlay)
+PyObject *eDVBService::getInfoObject(const eServiceReference &ref, int w)
+{
+ switch (w)
+ {
+ case iServiceInformation::sTransponderData:
+ return eStaticServiceDVBInformation().getInfoObject(ref, w);
+ default:
+ break;
+ }
+ return iStaticServiceInformation::getInfoObject(ref, w);
+}
+
eAutoInitPtr<eServiceFactoryDVB> init_eServiceFactoryDVB(eAutoInitNumbers::service+1, "eServiceFactoryDVB");