diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2007-06-19 23:40:09 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2007-06-19 23:40:09 +0000 |
| commit | cf5341701c32afc934b3ff0dc75a28c7e9f264ee (patch) | |
| tree | b3f8032fcc7172b47106d08366caddfa412cab5f /lib/service/servicedvb.cpp | |
| parent | 92e521a30c214ac2e65c6fb68401e90196a6c88b (diff) | |
| download | enigma2-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.cpp | 31 |
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) |
