X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ca329d3e86a98aacb0597d8581f5354cc99542e4..5e6f814d005a01caa437a532e61f4b338617ff67:/lib/dvb/pvrparse.h diff --git a/lib/dvb/pvrparse.h b/lib/dvb/pvrparse.h index 7b586331..94f9f67f 100644 --- a/lib/dvb/pvrparse.h +++ b/lib/dvb/pvrparse.h @@ -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 m_timestamp_deltas; - + + /* these are non-fixed up pts value (like m_access_points), just used to accelerate stuff. */ + std::multimap m_pts_to_offset; + int save(const char *filename); int load(const char *filename); @@ -40,6 +43,8 @@ public: off_t getAccessPoint(pts_t ts); + int getNextAccessPoint(pts_t &ts, const pts_t &start, int direction); + bool empty(); }; @@ -50,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]; @@ -59,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