return m_decoder->setFastForward(ffratio);
}
-
+
RESULT eDVBServicePlay::seek(ePtr<iSeekableService> &ptr)
{
if (m_is_pvr || m_timeshift_enabled)
m_decode_demux->getMPEGDecoder(m_decoder, m_is_primary);
if (m_decoder)
m_decoder->connectVideoEvent(slot(*this, &eDVBServicePlay::video_event), m_video_event_connection);
+ m_teletext_parser = new eDVBTeletextParser(m_decode_demux);
+ m_teletext_parser->connectNewPage(slot(*this, &eDVBServicePlay::newSubtitlePage), m_new_subtitle_page_connection);
+ m_subtitle_parser = new eDVBSubtitleParser(m_decode_demux);
+ m_subtitle_parser->connectNewPage(slot(*this, &eDVBServicePlay::newDVBSubtitlePage), m_new_dvb_subtitle_page_connection);
+ } else
+ {
+ m_teletext_parser = 0;
+ m_subtitle_parser = 0;
}
+
if (m_cue)
m_cue->setDecodingDemux(m_decode_demux, m_decoder);
- m_teletext_parser = new eDVBTeletextParser(m_decode_demux);
- m_teletext_parser->connectNewPage(slot(*this, &eDVBServicePlay::newSubtitlePage), m_new_subtitle_page_connection);
- m_subtitle_parser = new eDVBSubtitleParser(m_decode_demux);
- m_subtitle_parser->connectNewPage(slot(*this, &eDVBServicePlay::newDVBSubtitlePage), m_new_dvb_subtitle_page_connection);
}
if (m_decoder)
// how we can do this better?
// update cache pid when the user changed the audio track or video track
// TODO handling of difference audio types.. default audio types..
-
+
/* don't worry about non-existing services, nor pvr services */
if (m_dvb_service && !m_is_pvr)
{
m_event((iPlayableService*)this, evVideoSizeChanged);
}
+RESULT eDVBServicePlay::stream(ePtr<iStreamableService> &ptr)
+{
+ ptr = this;
+ return 0;
+}
+
+PyObject *eDVBServicePlay::getStreamingData()
+{
+ eDVBServicePMTHandler::program program;
+ if (m_service_handler.getProgramInfo(program))
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+ PyObject *r = program.createPythonObject();
+ ePtr<iDVBDemux> demux;
+ if (!m_service_handler.getDataDemux(demux))
+ {
+ uint8_t demux_id;
+ demux->getCADemuxID(demux_id);
+
+ PyDict_SetItemString(r, "demux", PyInt_FromLong(demux_id));
+ }
+
+ return r;
+}
+
+
DEFINE_REF(eDVBServicePlay)
PyObject *eDVBService::getInfoObject(const eServiceReference &ref, int w)