From cf5341701c32afc934b3ff0dc75a28c7e9f264ee Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Tue, 19 Jun 2007 23:40:09 +0000 Subject: implement streamableService for playing dvb services --- lib/service/servicedvb.cpp | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'lib/service/servicedvb.cpp') diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 173f471b..613dc9be 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -1277,7 +1277,7 @@ RESULT eDVBServicePlay::setFastForward(int ratio) return m_decoder->setFastForward(ffratio); } - + RESULT eDVBServicePlay::seek(ePtr &ptr) { if (m_is_pvr || m_timeshift_enabled) @@ -2862,6 +2862,35 @@ void eDVBServicePlay::video_event(struct iTSMPEGDecoder::videoEvent event) m_event((iPlayableService*)this, evVideoSizeChanged); } +RESULT eDVBServicePlay::stream(ePtr &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 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) -- cgit v1.2.3