X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/cbe505c09b3491ad80b7703514ddfc3b083249e1..1d9b83e416ec6471e53844c80626dbf22a411e90:/lib/dvb/idvb.h diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index d521b999..d338f298 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -414,7 +414,8 @@ public: state_idle, /* not yet tuned */ state_tuning, /* currently tuning (first time) */ state_unavailable, /* currently unavailable, will be back without further interaction */ - state_ok /* ok */ + state_ok, /* ok */ + state_release /* channel is being shut down. */ }; virtual RESULT connectStateChange(const Slot1 &stateChange, ePtr &connection)=0; virtual RESULT getState(int &state)=0; @@ -428,6 +429,23 @@ public: /* direct frontend access for raw channels and/or status inquiries. */ virtual RESULT getFrontend(ePtr &frontend)=0; + + /* use count handling */ + virtual void AddUse() = 0; + virtual void ReleaseUse() = 0; +}; + +class iDVBPVRChannel: public iDVBChannel +{ +public: + enum + { + state_eof = state_release + 1 /* end-of-file reached. */ + }; + + /* FIXME: there are some very ugly buffer-end and ... related problems */ + /* so this is VERY UGLY. */ + virtual RESULT playFile(const char *file) = 0; }; class iDVBSectionReader;