X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/53308f5235c4c6cc0eb263709ff0336a86207882..7709c1d61e799fa06a257f1d6b9c23ae205fe0c9:/lib/service/iservice.h diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 22ffde6f..2ba7cb46 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -286,6 +286,7 @@ public: sDescription, sServiceref, sTimeCreate, /* unix time or string */ + sFileSize, sCAIDs, sVideoType, /* MPEG2 MPEG4 */ @@ -355,6 +356,8 @@ public: sTagCRC, sTagChannelMode, + sTransferBPS, + sUser = 0x100 }; enum { @@ -592,7 +595,8 @@ class iTimeshiftService: public iObject #endif public: virtual RESULT startTimeshift()=0; - virtual RESULT stopTimeshift()=0; + virtual RESULT stopTimeshift(bool swToLive=true)=0; + virtual RESULT setNextPlaybackFile(const char *fn)=0; // not needed by our internal timeshift.. but external plugin... virtual int isTimeshiftActive()=0; /* this essentially seeks to the relative end of the timeshift buffer */ @@ -718,6 +722,9 @@ public: /* for transferring a service... */ virtual SWIG_VOID(RESULT) getListOfFilenames(std::list &SWIG_OUTPUT)=0; + + /* a blocking call to reindex a file */ + virtual int reindex() = 0; // TODO: additional stuff, like a conversion interface? }; @@ -742,6 +749,19 @@ public: }; SWIG_TEMPLATE_TYPEDEF(ePtr, iStreamableServicePtr); +SWIG_IGNORE(iStreamedService); +class iStreamedService: public iObject +{ +#ifdef SWIG + iStreamedService(); + ~iStreamedService(); +#endif +public: + virtual PyObject *getBufferCharge()=0; + virtual int setBufferSize(int size)=0; +}; +SWIG_TEMPLATE_TYPEDEF(ePtr, iStreamedServicePtr); + class iServiceKeys_ENUMS { #ifdef SWIG @@ -812,6 +832,8 @@ public: evVideoFramerateChanged, evVideoProgressiveChanged, + evBuffering, + evStopped, evUser = 0x100 @@ -847,6 +869,7 @@ public: virtual SWIG_VOID(RESULT) audioDelay(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) rdsDecoder(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) stream(ePtr &SWIG_OUTPUT)=0; + virtual SWIG_VOID(RESULT) streamed(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) keys(ePtr &SWIG_OUTPUT)=0; }; SWIG_TEMPLATE_TYPEDEF(ePtr, iPlayableServicePtr);