return m_decoder->setFastForward(ffratio);
}
-
+
RESULT eDVBServicePlay::seek(ePtr<iSeekableService> &ptr)
{
if (m_is_pvr || m_timeshift_enabled)
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)
public iAudioTrackSelection, public iAudioChannelSelection,
public iSubserviceList, public iTimeshiftService,
public iCueSheet, public iSubtitleOutput, public iAudioDelay,
- public iRdsDecoder
+ public iRdsDecoder, public iStreamableService
{
DECLARE_REF(eDVBServicePlay);
public:
int getPCMDelay();
void setAC3Delay(int);
void setPCMDelay(int);
-
+
+ // iStreamableService
+ RESULT stream(ePtr<iStreamableService> &ptr);
+ PyObject *getStreamingData();
private:
friend class eServiceFactoryDVB;
eServiceReference m_reference;