release cached channel after 3 seconds when not needed
[enigma2.git] / lib / dvb / idvb.h
index 7dbad780ed984f717a295302c487d8b1e9afd657..eacc49290bf5091f1d662cd362843a74d903820f 100644 (file)
@@ -11,6 +11,7 @@
 #include <lib/dvb/frontendparms.h>
 #include <lib/base/object.h>
 #include <lib/base/ebase.h>
+#include <lib/base/elock.h>
 #include <lib/service/service.h>
 #include <libsig_comp.h>
 #include <connection.h>
@@ -391,6 +392,7 @@ public:
                state_failed,      /* tuning failed. */
                state_unavailable, /* currently unavailable, will be back without further interaction */
                state_ok,          /* ok */
+               state_last_instance, /* just one reference to this channel is left */
                state_release      /* channel is being shut down. */
        };
        
@@ -444,6 +446,9 @@ public:
        void setSkipmode(const pts_t &ratio); /* 90000 is 1:1 */
        void setDecodingDemux(iDVBDemux *demux);
        
+                       /* frontend and backend */
+       eSingleLock m_lock;
+       
                        /* backend */
        enum { evtSeek, evtSkipmode, evtSpanChanged };
        RESULT connectEvent(const Slot1<void, int> &event, ePtr<eConnection> &connection);