X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a6014454bb8627882386ced03f75628304078637..21f79f2e37db9b37da2522ba7d0e8d6676ddad5b:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index 7dbad780..2090d188 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -391,6 +392,7 @@ public: state_failed, /* tuning failed. */ state_unavailable, /* currently unavailable, will be back without further interaction */ state_ok, /* ok */ + state_last_instance, /* just one reference to this channel is left */ state_release /* channel is being shut down. */ }; @@ -424,6 +426,7 @@ public: typedef long long pts_t; class iFilePushScatterGather; +class iTSMPEGDecoder; /* note that a cue sheet describes the logical positions. thus everything is specified in pts and not file positions */ @@ -442,7 +445,10 @@ public: void addSourceSpan(const pts_t &begin, const pts_t &end); void setSkipmode(const pts_t &ratio); /* 90000 is 1:1 */ - void setDecodingDemux(iDVBDemux *demux); + void setDecodingDemux(iDVBDemux *demux, iTSMPEGDecoder *decoder); + + /* frontend and backend */ + eSingleLock m_lock; /* backend */ enum { evtSeek, evtSkipmode, evtSpanChanged }; @@ -453,6 +459,7 @@ public: pts_t m_skipmode_ratio; Signal1 m_event; ePtr m_decoding_demux; + ePtr m_decoder; }; class iDVBPVRChannel: public iDVBChannel @@ -544,6 +551,8 @@ public: virtual RESULT setZoom(int what)=0; virtual RESULT setTrickmode(int what) = 0; + + virtual RESULT getPTS(int what, pts_t &pts) = 0; }; #endif