X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1995abf236d34dd3264435a35f2c9c128cf3afaa..92929c357751afc31f7f1acbe3e724bdf307cf23:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index 9c210502..ebf22374 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,7 +411,10 @@ 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); #define MAX_DISEQC_LENGTH 16 @@ -440,10 +446,10 @@ 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, signalPowerdB }; + enum { bitErrorRate, signalPower, signalQuality, locked, synced, frontendNumber, signalQualitydB }; }; SWIG_IGNORE(iDVBFrontend); @@ -469,8 +475,8 @@ public: virtual void getTransponderData(SWIG_PYOBJECT(ePyObject) dest, bool original)=0; virtual void getFrontendData(SWIG_PYOBJECT(ePyObject) dest)=0; #ifndef SWIG - virtual RESULT getData(int num, int &data)=0; - virtual RESULT setData(int num, int val)=0; + virtual RESULT getData(int num, long &data)=0; + virtual RESULT setData(int num, long val)=0; /* 0 means: not compatible. other values are a priority. */ virtual int isCompatibleWith(ePtr &feparm)=0; #endif @@ -481,7 +487,7 @@ 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 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)=0; virtual void setRotorMoving(bool)=0; }; @@ -509,7 +515,7 @@ public: state_last_instance, /* just one reference to this channel is left */ state_release /* channel is being shut down. */ }; - virtual RESULT getState(int &SWIG_OUTPUT)=0; + virtual RESULT getState(int &)=0; virtual RESULT getCurrentFrontendParameters(ePtr &)=0; enum @@ -564,7 +570,7 @@ public: void setDecodingDemux(iDVBDemux *demux, iTSMPEGDecoder *decoder); /* frontend and backend */ - eSingleLock m_lock; + eRdWrLock m_lock; /* backend */ enum { evtSeek, evtSkipmode, evtSpanChanged }; @@ -623,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 @@ -694,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;