X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/52eb0cac0affc9c39a7a15a5e90bb87ad3a60481..547419c9a9e81d29395e87e53bcd6174d744a4e2:/lib/dvb/decoder.h diff --git a/lib/dvb/decoder.h b/lib/dvb/decoder.h index 67a8c508..7bd16fd1 100644 --- a/lib/dvb/decoder.h +++ b/lib/dvb/decoder.h @@ -11,9 +11,17 @@ private: ePtr m_demux; int m_fd, m_fd_demux; public: + enum {aMPEG, aAC3, aDTS }; eDVBAudio(eDVBDemux *demux, int dev); - int startPid(int pid); + int startPid(int pid, int type); void stop(); +#if HAVE_DVB_API_VERSION < 3 + void start(); + void stopPid(); +#endif + void flush(); + void freeze(); + void unfreeze(); virtual ~eDVBAudio(); }; @@ -27,6 +35,13 @@ public: eDVBVideo(eDVBDemux *demux, int dev); int startPid(int pid); void stop(); +#if HAVE_DVB_API_VERSION < 3 + void start(); + void stopPid(); +#endif + void flush(); + void freeze(); + void unfreeze(); virtual ~eDVBVideo(); }; @@ -43,7 +58,7 @@ public: virtual ~eDVBPCR(); }; -class eTSMPEGDecoder: public iTSMPEGDecoder +class eTSMPEGDecoder: public Object, public iTSMPEGDecoder { DECLARE_REF(eTSMPEGDecoder); private: @@ -60,6 +75,9 @@ private: }; int m_changed; int setState(); + ePtr m_demux_event; + + void demux_event(int event); public: enum { pidNone = -1 }; eTSMPEGDecoder(eDVBDemux *demux, int decoder); @@ -75,5 +93,6 @@ public: RESULT setPictureSkipMode(int what); RESULT setSlowMotion(int repeat); RESULT setZoom(int what); + RESULT flush(); }; #endif