X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/68b90d5fc4598225d38579634686a3a16083fa69..81b381e1f5dd38ad1b80a3b3d96060b89a5fab6c:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index ad5da21e..699474d3 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -279,6 +279,7 @@ public: virtual RESULT addService(const eServiceReferenceDVB &service, eDVBService *service)=0; virtual RESULT getService(const eServiceReferenceDVB &reference, ePtr &service)=0; + virtual RESULT flush()=0; virtual RESULT getBouquet(const eServiceReference &ref, eBouquet* &bouquet)=0; @@ -346,13 +347,14 @@ public: virtual RESULT setData(int num, int val)=0; /* 0 means: not compatible. other values are a priority. */ - virtual int isCompatibleWith(const eDVBChannelID &chid)=0; + virtual int isCompatibleWith(ePtr &feparm)=0; }; class iDVBSatelliteEquipmentControl: public iObject { public: - virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat)=0; + virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, eDVBFrontendParametersSatellite &sat, int frontend_id)=0; + virtual int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *fe, int frontend_id)=0; }; struct eDVBCIRouting @@ -408,9 +410,14 @@ public: virtual RESULT playFile(const char *file) = 0; virtual RESULT getLength(pts_t &pts) = 0; - virtual RESULT getCurrentPosition(pts_t &pos) = 0; - virtual RESULT seekTo(int relative, pts_t &pts) = 0; - virtual RESULT seekToPosition(const off_t &pts) = 0; + + /* we explicitely ask for the decoding demux here because a channel + can be shared between multiple decoders. + Of couse skipping doesn't make much sense + then, but getCurrentPosition does. */ + virtual RESULT getCurrentPosition(iDVBDemux *decoding_demux, pts_t &pos) = 0; + virtual RESULT seekTo(iDVBDemux *decoding_demux, int relative, pts_t &pts) = 0; + virtual RESULT seekToPosition(iDVBDemux *decoding_demux, const off_t &pts) = 0; }; class iDVBSectionReader;