X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ca7d92c97764d916bb8dd6731efa1ccff693b944..1f3788c5e1a47fa9b0412902acba38c86b53bb63:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index e9fb3cf0..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. */ @@ -240,19 +241,18 @@ public: int m_flags; enum { -#if 0 // not yet implemented dxNoSDT=1, // don't get SDT - dxDontshow=2, +//nyi dxDontshow=2, + dxNoDVB=4, // dont use PMT for this service ( use cached pids ) dxHoldName=8, -#endif dxNewFound=64, - dxNoDVB=4 // dont use PMT for this service ( use cached pids ) }; 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 &); @@ -554,6 +554,7 @@ public: }; class iDVBSectionReader; +class iDVBPESReader; class iDVBTSRecorder; class iTSMPEGDecoder; @@ -561,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; @@ -572,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 */