X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ecd8882f14e3ad6ebfc27be40dc71d110fe278c1..0e7fc97cfaaecf1b7fc93a73157a6a380e9058f4:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index 36f580ca..a2cce94d 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -297,13 +297,14 @@ public: enum { dxNoSDT=1, // don't get SDT -//nyi dxDontshow=2, + dxDontshow=2, dxNoDVB=4, // dont use PMT for this service ( use cached pids ) dxHoldName=8, dxNewFound=64, }; bool usePMT() const { return !(m_flags & dxNoDVB); } + bool isHidden() const { return m_flags & dxDontshow; } CAID_LIST m_ca; @@ -374,6 +375,7 @@ public: virtual RESULT removeService(const eServiceReference &service)=0; virtual RESULT removeServices(eDVBChannelID chid=eDVBChannelID(), unsigned int orb_pos=0xFFFFFFFF)=0; virtual RESULT removeServices(int dvb_namespace=-1, int tsid=-1, int onid=-1, unsigned int orb_pos=0xFFFFFFFF)=0; + virtual RESULT removeServices(iDVBFrontendParameters *feparm)=0; virtual RESULT addFlag(const eServiceReference &service, unsigned int flagmask=0xFFFFFFFF)=0; virtual RESULT removeFlag(const eServiceReference &service, unsigned int flagmask=0xFFFFFFFF)=0; virtual RESULT removeFlags(unsigned int flagmask, eDVBChannelID chid=eDVBChannelID(), unsigned int orb_pos=0xFFFFFFFF)=0; @@ -401,6 +403,7 @@ class iDVBFrontendParameters: public iObject ~iDVBFrontendParameters(); #endif public: + enum { flagOnlyFree = 1 }; virtual RESULT getSystem(int &SWIG_OUTPUT) const = 0; virtual RESULT getDVBS(eDVBFrontendParametersSatellite &SWIG_OUTPUT) const = 0; virtual RESULT getDVBC(eDVBFrontendParametersCable &SWIG_OUTPUT) const = 0; @@ -408,6 +411,8 @@ public: virtual RESULT calculateDifference(const iDVBFrontendParameters *parm, int &SWIG_OUTPUT, bool exact) const = 0; virtual RESULT getHash(unsigned long &SWIG_OUTPUT) const = 0; + virtual RESULT calcLockTimeout(unsigned int &) const = 0; + virtual RESULT getFlags(unsigned int &) const = 0; }; SWIG_TEMPLATE_TYPEDEF(ePtr, iDVBFrontendParametersPtr); @@ -441,7 +446,7 @@ class iDVBFrontend_ENUMS #endif public: enum { feSatellite, feCable, feTerrestrial }; - enum { stateIdle, stateTuning, stateFailed, stateLock, stateLostLock }; + enum { stateIdle, stateTuning, stateFailed, stateLock, stateLostLock, stateClosed }; enum { toneOff, toneOn }; enum { voltageOff, voltage13, voltage18, voltage13_5, voltage18_5 }; enum { bitErrorRate, signalPower, signalQuality, locked, synced, frontendNumber, signalQualitydB }; @@ -482,8 +487,8 @@ SWIG_TEMPLATE_TYPEDEF(ePtr, iDVBFrontendPtr); class iDVBSatelliteEquipmentControl: public iObject { public: - virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id)=0; - virtual int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *fe, int frontend_id)=0; + virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int timeout)=0; + virtual int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *fe, int frontend_id, int *highest_score_lnb=0)=0; virtual void setRotorMoving(bool)=0; }; @@ -624,6 +629,7 @@ public: #if HAVE_DVB_API_VERSION < 3 && !defined(VIDEO_EVENT_SIZE_CHANGED) #define VIDEO_EVENT_SIZE_CHANGED 1 +#define VIDEO_EVENT_FRAME_RATE_CHANGED 2 #endif class iTSMPEGDecoder: public iObject @@ -695,10 +701,16 @@ public: struct videoEvent { - enum { eventUnknown = 0, eventSizeChanged = VIDEO_EVENT_SIZE_CHANGED } type; + enum { eventUnknown = 0, + eventSizeChanged = VIDEO_EVENT_SIZE_CHANGED, + eventFrameRateChanged = VIDEO_EVENT_FRAME_RATE_CHANGED, + eventProgressiveChanged = 16 + } type; unsigned char aspect; unsigned short height; unsigned short width; + bool progressive; + unsigned short framerate; }; virtual RESULT connectVideoEvent(const Slot1 &event, ePtr &connection) = 0;