X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c9fe752d20d7ee28b56b863b6469b3490c17f4a2..855949a917ed8cf65397adc49872c99bdb2123c2:/lib/service/iservice.h diff --git a/lib/service/iservice.h b/lib/service/iservice.h index ca84a410..015ef879 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -224,7 +224,7 @@ typedef long long pts_t; Hide the result only if there is another way to check for failure! */ -SWIG_TEMPLATE_TYPEDEF(ePtr, eServiceEventPtr); +class eServiceEvent; SWIG_IGNORE(iStaticServiceInformation); class iStaticServiceInformation: public iObject @@ -676,7 +676,9 @@ public: /* when radioText is implemented */ evUpdatedRadioText, - evVideoSizeChanged + evVideoSizeChanged, + + evStopped }; }; @@ -711,6 +713,25 @@ public: }; SWIG_TEMPLATE_TYPEDEF(ePtr, iPlayableServicePtr); +SWIG_IGNORE(iStreamableService); +class iStreamableService: public iObject +{ +#ifdef SWIG + iStreamableService(); + ~iStreamableService(); +#endif +public: + /* returns a dict: + { "demux": , + "pids": [(x,type),(y,type),(z,type),..], + ... + } + with type being "video", "audio", "pmt", "pat"... + */ + virtual PyObject *getStreamingData()=0; +}; +SWIG_TEMPLATE_TYPEDEF(ePtr, iStreamableServicePtr); + class iRecordableService_ENUMS { #ifdef SWIG @@ -720,7 +741,7 @@ class iRecordableService_ENUMS public: enum { evStart, - evStop, + evEnd, evTunedIn, evTuneFailed, evRecordRunning, @@ -752,9 +773,11 @@ public: #endif virtual SWIG_VOID(RESULT) getError(int &SWIG_OUTPUT)=0; virtual RESULT prepare(const char *filename, time_t begTime=-1, time_t endTime=-1, int eit_event_id=-1)=0; + virtual RESULT prepareStreaming()=0; virtual RESULT start()=0; virtual RESULT stop()=0; virtual SWIG_VOID(RESULT) frontendInfo(ePtr &SWIG_OUTPUT)=0; + virtual SWIG_VOID(RESULT) stream(ePtr &SWIG_OUTPUT)=0; }; SWIG_TEMPLATE_TYPEDEF(ePtr, iRecordableServicePtr);