X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/40d11af2de7aed77c90970ba2b61dd754a225117..191cade7c45bee53df2776ff5bb3f26b2cdafc12:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index 13f20081..de2b5644 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -165,7 +165,7 @@ struct eServiceReferenceDVB: public eServiceReference eServiceReferenceDVB getParentServiceReference() const { eServiceReferenceDVB tmp(*this); - if (data[4] && data[5]) + if (data[5] && data[6]) { tmp.data[1] = data[5]; tmp.data[2] = data[6]; @@ -236,8 +236,21 @@ public: std::string m_provider_name; void genSortName(); - + int m_flags; + enum + { +#if 0 // not yet implemented + dxNoSDT=1, // don't get SDT + dxDontshow=2, + dxHoldName=8, + dxNewFound=64, // found in prev scan +#endif + 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; virtual ~eDVBService(); @@ -434,7 +447,7 @@ public: virtual RESULT getState(int &SWIG_OUTPUT)=0; /* direct frontend access for raw channels and/or status inquiries. */ - virtual RESULT getFrontend(ePtr &SWIG_OUTPUT)=0; + virtual RESULT getFrontend(ePtr &)=0; #ifndef SWIG virtual RESULT getCurrentFrontendParameters(ePtr &)=0; @@ -540,7 +553,7 @@ class iDVBDemux: public iObject public: virtual RESULT createSectionReader(eMainloop *context, ePtr &reader)=0; virtual RESULT createTSRecorder(ePtr &recorder)=0; - virtual RESULT getMPEGDecoder(ePtr &reader)=0; + virtual RESULT getMPEGDecoder(ePtr &reader, int primary=1)=0; virtual RESULT getSTC(pts_t &pts, int num=0)=0; virtual RESULT getCADemuxID(uint8_t &id)=0; virtual RESULT flush()=0;