X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d7010ab56f9b823d56a5a5fa3ba7f7764bbfece4..191cade7c45bee53df2776ff5bb3f26b2cdafc12:/lib/dvb/decoder.h diff --git a/lib/dvb/decoder.h b/lib/dvb/decoder.h index f1d074db..bceca040 100644 --- a/lib/dvb/decoder.h +++ b/lib/dvb/decoder.h @@ -9,7 +9,7 @@ class eDVBAudio: public iObject DECLARE_REF(eDVBAudio); private: ePtr m_demux; - int m_fd, m_fd_demux; + int m_fd, m_fd_demux, m_dev; public: enum {aMPEG, aAC3, aDTS }; eDVBAudio(eDVBDemux *demux, int dev); @@ -22,6 +22,7 @@ public: void flush(); void freeze(); void unfreeze(); + int getPTS(pts_t &now); virtual ~eDVBAudio(); }; @@ -30,7 +31,7 @@ class eDVBVideo: public iObject DECLARE_REF(eDVBVideo); private: ePtr m_demux; - int m_fd, m_fd_demux; + int m_fd, m_fd_demux, m_dev; int m_is_slow_motion, m_is_fast_forward; public: @@ -46,6 +47,7 @@ public: int setSlowMotion(int repeat); int setFastForward(int skip); void unfreeze(); + int getPTS(pts_t &now); virtual ~eDVBVideo(); }; @@ -62,17 +64,17 @@ public: virtual ~eDVBPCR(); }; -class eDVBVText: public iObject +class eDVBTText: public iObject { -DECLARE_REF(eDVBVText); +DECLARE_REF(eDVBTText); private: ePtr m_demux; int m_fd_demux; public: - eDVBVText(eDVBDemux *demux); + eDVBTText(eDVBDemux *demux); int startPid(int pid); void stop(); - virtual ~eDVBVText(); + virtual ~eDVBTText(); }; class eTSMPEGDecoder: public Object, public iTSMPEGDecoder @@ -83,7 +85,7 @@ private: ePtr m_audio; ePtr m_video; ePtr m_pcr; - ePtr m_text; + ePtr m_text; int m_vpid, m_apid, m_atype, m_pcrpid, m_textpid; enum { @@ -92,7 +94,7 @@ private: changePCR = 4, changeText = 8 }; - int m_changed; + int m_changed, m_decoder; int m_is_ff, m_is_sm, m_is_trickmode; int setState(); ePtr m_demux_event; @@ -117,5 +119,9 @@ public: RESULT setZoom(int what); RESULT flush(); RESULT setTrickmode(int what); + + /* what 0=auto, 1=video, 2=audio. */ + RESULT getPTS(int what, pts_t &pts); }; + #endif