Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
[vuplus_dvbapp] / lib / service / servicedvbrecord.h
index 17de033..e70547f 100644 (file)
@@ -18,7 +18,7 @@ class eDVBServiceRecord: public eDVBServiceBase,
        DECLARE_REF(eDVBServiceRecord);
 public:
        RESULT connectEvent(const Slot2<void,iRecordableService*,int> &event, ePtr<eConnection> &connection);
-       RESULT prepare(const char *filename, time_t begTime, time_t endTime, int eit_event_id);
+       RESULT prepare(const char *filename, time_t begTime, time_t endTime, int eit_event_id, const char *name, const char *descr, const char *tags);
        RESULT prepareStreaming();
        RESULT start(bool simulate=false);
        RESULT stop();
@@ -36,16 +36,21 @@ private:
        friend class eServiceFactoryDVB;
        eDVBServiceRecord(const eServiceReferenceDVB &ref);
        
+       eDVBServiceEITHandler m_event_handler;
+       
        eServiceReferenceDVB m_ref;
        
        ePtr<iDVBTSRecorder> m_record;
-       ePtr<eConnection>       m_con_record_event;
+       ePtr<eConnection> m_con_record_event;
        
        int m_recording, m_tuned, m_error;
        std::set<int> m_pids_active;
        std::string m_filename;
+
+       std::map<int,pts_t> m_event_timestamps;
        int m_target_fd;
        int m_streaming;
+       int m_last_event_id;
        
        int doPrepare();
        int doRecord();
@@ -56,6 +61,10 @@ private:
        
                        /* recorder events */
        void recordEvent(int event);
+
+                       /* eit updates */
+       void gotNewEvent();
+       void saveCutlist();
 };
 
 #endif