fix relative jumps
[enigma2.git] / lib / dvb / idvb.h
index f20de1900d2b726f793fe4a61796d132bd4ed6eb..2090d188791a1ac41f9933044da8ab8b93e00e94 100644 (file)
@@ -392,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. */
        };
        
@@ -425,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 */
@@ -443,7 +445,7 @@ 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;
@@ -457,6 +459,7 @@ public:
        pts_t m_skipmode_ratio;
        Signal1<void,int> m_event;
        ePtr<iDVBDemux> m_decoding_demux;
+       ePtr<iTSMPEGDecoder> m_decoder;
 };
 
 class iDVBPVRChannel: public iDVBChannel
@@ -548,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