X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fdvb%2Fidvb.h;h=e56a2c7bb784afd35190e507dae1c22b383f377c;hp=6dd0f90389f803299c449e240e178c2e6c8fafbc;hb=d8e08fe0a7304ed06b3de0b9ad6d4265ec8063b8;hpb=e68a1617b7c1efbedf8b28309943dd7669daaad0 diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index 6dd0f90..8d5d471 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -3,18 +3,14 @@ #ifndef SWIG -#if HAVE_DVB_API_VERSION < 3 -#include -#define FRONTENDPARAMETERS FrontendParameters -#else #include #include #define FRONTENDPARAMETERS struct dvb_frontend_parameters -#endif #include #include #include #include +#include #include #include #include @@ -276,9 +272,9 @@ class eDVBService: public iStaticServiceInformation public: enum cacheID { - cVPID, cAPID, cTPID, cPCRPID, cAC3PID, + cVPID, cMPEGAPID, cTPID, cPCRPID, cAC3PID, cVTYPE, cACHANNEL, cAC3DELAY, cPCMDELAY, - cSUBTITLE, cacheMax + cSUBTITLE, cAACHEAPID=12, cDDPPID, cAACAPID, cacheMax }; int getCacheEntry(cacheID); @@ -426,10 +422,6 @@ public: #endif int len; __u8 data[MAX_DISEQC_LENGTH]; -#if HAVE_DVB_API_VERSION < 3 - int tone; - int voltage; -#endif #ifdef SWIG public: #endif @@ -450,15 +442,16 @@ public: 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 }; + enum { bitErrorRate, signalPower, signalQuality, locked, synced, frontendNumber, signalQualitydB, isUsbTuner }; }; SWIG_IGNORE(iDVBFrontend); class iDVBFrontend: public iDVBFrontend_ENUMS, public iObject { public: - virtual RESULT getFrontendType(int &SWIG_OUTPUT)=0; virtual RESULT tune(const iDVBFrontendParameters &where)=0; + virtual int closeFrontend(bool force = false, bool no_delayed = false)=0; + virtual void reopenFrontend()=0; #ifndef SWIG virtual RESULT connectStateChange(const Slot1 &stateChange, ePtr &connection)=0; #endif @@ -469,7 +462,7 @@ public: virtual RESULT sendToneburst(int burst)=0; #ifndef SWIG virtual RESULT setSEC(iDVBSatelliteEquipmentControl *sec)=0; - virtual RESULT setSecSequence(const eSecCommandList &list)=0; + virtual RESULT setSecSequence(eSecCommandList &list)=0; #endif virtual int readFrontendData(int type)=0; virtual void getFrontendStatus(SWIG_PYOBJECT(ePyObject) dest)=0; @@ -489,8 +482,9 @@ class iDVBSatelliteEquipmentControl: public iObject { public: virtual RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int timeout)=0; + virtual void prepareTurnOffSatCR(iDVBFrontend &frontend)=0; virtual int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *fe, int frontend_id, int *highest_score_lnb=0)=0; - virtual void setRotorMoving(bool)=0; + virtual void setRotorMoving(int slotid, bool)=0; }; struct eDVBCIRouting @@ -506,6 +500,7 @@ public: /* direct frontend access for raw channels and/or status inquiries. */ virtual SWIG_VOID(RESULT) getFrontend(ePtr &SWIG_OUTPUT)=0; virtual RESULT requestTsidOnid(SWIG_PYOBJECT(ePyObject) callback) { return -1; } + virtual int reserveDemux() { return -1; } #ifndef SWIG enum { @@ -522,7 +517,7 @@ public: virtual RESULT getCurrentFrontendParameters(ePtr &)=0; enum { - evtEOF, evtSOF, evtFailed + evtPreStart, evtEOF, evtSOF, evtFailed }; virtual RESULT connectStateChange(const Slot1 &stateChange, ePtr &connection)=0; virtual RESULT connectEvent(const Slot2 &eventChange, ePtr &connection)=0; @@ -601,6 +596,10 @@ public: virtual RESULT playFile(const char *file) = 0; virtual void stopFile() = 0; + /* new interface */ + virtual RESULT playSource(ePtr &source, const char *priv=NULL) = 0; + virtual void stopSource() = 0; + virtual void setCueSheet(eCueSheet *cuesheet) = 0; virtual RESULT getLength(pts_t &pts) = 0; @@ -627,13 +626,10 @@ public: virtual RESULT getSTC(pts_t &pts, int num=0)=0; virtual RESULT getCADemuxID(uint8_t &id)=0; virtual RESULT flush()=0; + virtual int openDVR(int flags)=0; + virtual int getSource()=0; }; -#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 { public: @@ -641,7 +637,7 @@ public: /** Set Displayed Video PID and type */ virtual RESULT setVideoPID(int vpid, int type)=0; - enum { af_MPEG, af_AC3, af_DTS, af_AAC }; + enum { af_MPEG, af_AC3, af_DTS, af_AAC, af_DTSHD }; /** Set Displayed Audio PID and type */ virtual RESULT setAudioPID(int apid, int type)=0; @@ -664,37 +660,32 @@ public: /** Set Sync mode to either audio or video master */ virtual RESULT setSyncMaster(int who)=0; - /** Apply settings with starting video */ - virtual RESULT start()=0; - /** Apply settings but don't start yet */ - virtual RESULT preroll()=0; + /** Apply settings but don't change state */ + virtual RESULT set()=0; + /* all those apply settings, then transition to the given state */ - /** Freeze frame. Either continue decoding (without display) or halt. */ - virtual RESULT freeze(int cont)=0; - /** Continue after freeze. */ - virtual RESULT unfreeze()=0; + /** play */ + virtual RESULT play()=0; + /** Freeze frame. */ + virtual RESULT pause()=0; /** fast forward by skipping frames. 0 is disabled, 2 is twice-the-speed, ... */ virtual RESULT setFastForward(int skip=0)=0; - // stop on .. Picture - enum { spm_I, spm_Ref, spm_Any }; - /** Stop on specific decoded picture. For I-Frame display. */ - virtual RESULT setSinglePictureMode(int when)=0; - - enum { pkm_B, pkm_PB }; - /** Fast forward by skipping either B or P/B pictures */ - virtual RESULT setPictureSkipMode(int what)=0; - /** Slow Motion by repeating pictures */ virtual RESULT setSlowMotion(int repeat)=0; - - enum { zoom_Normal, zoom_PanScan, zoom_Letterbox, zoom_Fullscreen }; - /** Set Zoom. mode *must* be fitting. */ - virtual RESULT setZoom(int what)=0; - virtual RESULT setTrickmode(int what) = 0; + /** Display any complete data as fast as possible */ + virtual RESULT setTrickmode()=0; + + virtual RESULT prepareFCC(int fe_id, int vpid, int vtype, int pcrpid)=0; + virtual RESULT fccDecoderStart()=0; + + virtual RESULT fccDecoderStop()=0; + + virtual RESULT fccUpdatePids(int fe_id, int vpid, int vtype, int pcrpid)=0; + virtual RESULT getPTS(int what, pts_t &pts) = 0; virtual RESULT showSinglePic(const char *filename) = 0;