X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/572caca1ba06dd8247724c9f5d6bcad515e2edf4..462ec6f4ad2051551cb91c75ba614d3b7b17c543:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index 742a3a32..5b6f19fc 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -19,7 +19,7 @@ struct eBouquet { std::string m_bouquet_name; - std::string m_path; + std::string m_filename; // without path.. just name typedef std::list list; list m_services; // the following four methods are implemented in db.cpp @@ -185,6 +185,11 @@ struct eServiceReferenceDVB: public eServiceReference :eServiceReference(eServiceReference::idDVB, 0) { } + + eServiceReferenceDVB(const std::string &string) + :eServiceReference(string) + { + } }; @@ -224,7 +229,7 @@ public: // iStaticServiceInformation RESULT getName(const eServiceReference &ref, std::string &name); - RESULT getEvent(const eServiceReference &ref, ePtr &ptr); + RESULT getEvent(const eServiceReference &ref, ePtr &ptr, time_t start_time); bool isPlayable(const eServiceReference &ref, const eServiceReference &ignore); /* for filtering: */ @@ -343,7 +348,7 @@ public: }; virtual RESULT setTone(int tone)=0; enum { - voltageOff, voltage13, voltage18 + voltageOff, voltage13, voltage18, voltage13_5, voltage18_5 }; virtual RESULT setVoltage(int voltage)=0; virtual RESULT sendDiseqc(const eDVBDiseqcCommand &diseqc)=0; @@ -388,7 +393,13 @@ public: state_ok, /* ok */ state_release /* channel is being shut down. */ }; + + enum + { + evtEOF, evtFailed + }; virtual RESULT connectStateChange(const Slot1 &stateChange, ePtr &connection)=0; + virtual RESULT connectEvent(const Slot2 &eventChange, ePtr &connection)=0; virtual RESULT getState(int &state)=0; /* demux capabilities */ @@ -429,7 +440,7 @@ public: 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 getCurrentPosition(iDVBDemux *decoding_demux, pts_t &pos, int mode) = 0; virtual RESULT seekTo(iDVBDemux *decoding_demux, int relative, pts_t &pts) = 0; virtual RESULT seekToPosition(iDVBDemux *decoding_demux, const off_t &pts) = 0; }; @@ -444,7 +455,7 @@ public: virtual RESULT createSectionReader(eMainloop *context, ePtr &reader)=0; virtual RESULT createTSRecorder(ePtr &recorder)=0; virtual RESULT getMPEGDecoder(ePtr &reader)=0; - virtual RESULT getSTC(pts_t &pts)=0; + virtual RESULT getSTC(pts_t &pts, int num=0)=0; virtual RESULT getCADemuxID(uint8_t &id)=0; virtual RESULT flush()=0; }; @@ -460,12 +471,15 @@ public: /** Set Displayed Audio PID and type */ virtual RESULT setAudioPID(int apid, int type)=0; + /** Set Displayed Videotext PID */ + virtual RESULT setTextPID(int vpid)=0; + /** Set Sync mode to PCR */ virtual RESULT setSyncPCR(int pcrpid)=0; enum { sm_Audio, sm_Video }; /** Set Sync mode to either audio or video master */ virtual RESULT setSyncMaster(int who)=0; - + /** Apply settings */ virtual RESULT start()=0; @@ -474,6 +488,9 @@ public: /** Continue after freeze. */ virtual RESULT unfreeze()=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. */ @@ -489,6 +506,8 @@ public: 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; }; #endif