added missing return statement
[enigma2.git] / lib / dvb / dvb.h
index 71c6a6c1b5e6e391934ba4ab57a26ff5da81d456..511ef9aa26d94294ae7221dd81c7121b612cbf1c 100644 (file)
@@ -21,8 +21,8 @@ class eDVBRegisteredFrontend: public iObject, public Object
        eTimer *disable;
        void closeFrontend()
        {
-               if (!m_inuse)
-                       m_frontend->closeFrontend();
+               if (!m_inuse && m_frontend->closeFrontend()) // frontend busy
+                       disable->start(60000, true);  // retry close in 60secs
        }
 public:
        eDVBRegisteredFrontend(eDVBFrontend *fe, iDVBAdapter *adap)
@@ -206,6 +206,8 @@ public:
        eDVBChannelID getChannelID() { return m_channel_id; }
 
        RESULT connectStateChange(const Slot1<void,iDVBChannel*> &stateChange, ePtr<eConnection> &connection);
+       RESULT connectEvent(const Slot2<void,iDVBChannel*,int> &eventChange, ePtr<eConnection> &connection);
+       
        RESULT getState(int &state);
 
        RESULT setCIRouting(const eDVBCIRouting &routing);
@@ -215,7 +217,7 @@ public:
                /* iDVBPVRChannel */
        RESULT playFile(const char *file);
        RESULT getLength(pts_t &len);
-       RESULT getCurrentPosition(iDVBDemux *decoding_demux, pts_t &pos);
+       RESULT getCurrentPosition(iDVBDemux *decoding_demux, pts_t &pos, int mode);
        RESULT seekTo(iDVBDemux *decoding_demux, int relative, pts_t &pts);
                        /* seeking to relative positions won't work - 
                           there is an unknown amount of buffers in between */
@@ -229,6 +231,7 @@ private:
        ePtr<iDVBFrontendParameters> m_current_frontend_parameters;
        eDVBChannelID m_channel_id;
        Signal1<void,iDVBChannel*> m_stateChanged;
+       Signal2<void,iDVBChannel*,int> m_event;
        int m_state;
 
                        /* for channel list */
@@ -239,6 +242,8 @@ private:
        
                /* for PVR playback */
        eFilePushThread *m_pvr_thread;
+       void pvrEvent(int event);
+       
        int m_pvr_fd_src, m_pvr_fd_dst;
        eDVBTSTools m_tstools;