aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicedvb.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2007-06-19 23:40:09 +0000
committerFelix Domke <tmbinc@elitedvb.net>2007-06-19 23:40:09 +0000
commitcf5341701c32afc934b3ff0dc75a28c7e9f264ee (patch)
treeb3f8032fcc7172b47106d08366caddfa412cab5f /lib/service/servicedvb.cpp
parent92e521a30c214ac2e65c6fb68401e90196a6c88b (diff)
downloadenigma2-cf5341701c32afc934b3ff0dc75a28c7e9f264ee.tar.gz
enigma2-cf5341701c32afc934b3ff0dc75a28c7e9f264ee.zip
implement streamableService for playing dvb services
Diffstat (limited to 'lib/service/servicedvb.cpp')
-rw-r--r--lib/service/servicedvb.cpp31
1 files changed, 30 insertions, 1 deletions
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<iSeekableService> &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<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)