small optimizations and cleanups by Moritz Venn
[enigma2.git] / lib / dvb / pvrparse.h
index 9a0c3eb0f27ad6a6f38dfe4b9f5dca045ae46f49..94f9f67fddc2590cc492cb31f9c38a746cbe2ea9 100644 (file)
@@ -19,7 +19,10 @@ public:
                /* timestampDelta is in fact the difference between */
                /* the PTS in the stream and a real PTS from 0..max */
        std::map<off_t, pts_t> m_timestamp_deltas;
-       
+
+               /* these are non-fixed up pts value (like m_access_points), just used to accelerate stuff. */
+       std::multimap<pts_t, off_t> m_pts_to_offset; 
+
        int save(const char *filename);
        int load(const char *filename);
        
@@ -52,6 +55,7 @@ public:
        eMPEGStreamParserTS(eMPEGStreamInformation &streaminfo);
        void parseData(off_t offset, const void *data, unsigned int len);
        void setPid(int pid);
+       int getLastPTS(pts_t &last_pts);
 private:
        eMPEGStreamInformation &m_streaminfo;
        unsigned char m_pkt[188];
@@ -61,6 +65,8 @@ private:
        int m_pid;
        int m_need_next_packet;
        int m_skip;
+       int m_last_pts_valid;
+       pts_t m_last_pts;
 };
 
 #endif