X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/056f4ed60ae323f41601b8acdc42794902eac0d1..1f3788c5e1a47fa9b0412902acba38c86b53bb63:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index 0326c60f..ecf8bb92 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -223,12 +223,13 @@ class eDVBService: public iStaticServiceInformation public: enum cacheID { - cVPID, cAPID, cTPID, cPCRPID, cAC3PID, cacheMax + cVPID, cAPID, cTPID, cPCRPID, cAC3PID, cVTYPE, cacheMax }; int getCachePID(cacheID); void setCachePID(cacheID, int); - bool cacheEmpty() { return m_cache.empty(); } + + bool cacheEmpty(); eDVBService(); /* m_service_name_sort is uppercase, with special chars removed, to increase sort performance. */ @@ -249,8 +250,9 @@ public: bool usePMT() const { return !(m_flags & dxNoDVB); } - std::set m_ca; - std::map m_cache; +// std::set m_ca; + + int m_cache[cacheMax]; virtual ~eDVBService(); eDVBService &operator=(const eDVBService &); @@ -552,6 +554,7 @@ public: }; class iDVBSectionReader; +class iDVBPESReader; class iDVBTSRecorder; class iTSMPEGDecoder; @@ -559,6 +562,7 @@ class iDVBDemux: public iObject { public: virtual RESULT createSectionReader(eMainloop *context, ePtr &reader)=0; + virtual RESULT createPESReader(eMainloop *context, ePtr &reader)=0; virtual RESULT createTSRecorder(ePtr &recorder)=0; virtual RESULT getMPEGDecoder(ePtr &reader, int primary=1)=0; virtual RESULT getSTC(pts_t &pts, int num=0)=0; @@ -570,8 +574,8 @@ class iTSMPEGDecoder: public iObject { public: enum { pidDisabled = -1 }; - /** Set Displayed Video PID */ - virtual RESULT setVideoPID(int vpid)=0; + /** Set Displayed Video PID and type */ + virtual RESULT setVideoPID(int vpid, int type)=0; enum { af_MPEG, af_AC3, af_DTS }; /** Set Displayed Audio PID and type */