X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/2e0270746af934180499931f95ed91c444c8233e..4f4a0a7483b746cc148fa94665eb2975e6c8df90:/lib/service/servicedvbrecord.h diff --git a/lib/service/servicedvbrecord.h b/lib/service/servicedvbrecord.h index b46a73ea..856f92b3 100644 --- a/lib/service/servicedvbrecord.h +++ b/lib/service/servicedvbrecord.h @@ -20,7 +20,7 @@ public: RESULT connectEvent(const Slot2 &event, ePtr &connection); RESULT prepare(const char *filename, time_t begTime, time_t endTime, int eit_event_id); RESULT prepareStreaming(); - RESULT start(); + RESULT start(bool simulate=false); RESULT stop(); RESULT stream(ePtr &ptr); RESULT getError(int &error) { error = m_error; return 0; } @@ -31,10 +31,13 @@ public: private: enum { stateIdle, statePrepared, stateRecording }; + bool m_simulate; int m_state, m_want_record; friend class eServiceFactoryDVB; eDVBServiceRecord(const eServiceReferenceDVB &ref); + eDVBServiceEITHandler m_event_handler; + eServiceReferenceDVB m_ref; ePtr m_record; @@ -43,8 +46,11 @@ private: int m_recording, m_tuned, m_error; std::set m_pids_active; std::string m_filename; + + std::map m_event_timestamps; int m_target_fd; int m_streaming; + int m_last_event_id; int doPrepare(); int doRecord(); @@ -55,6 +61,10 @@ private: /* recorder events */ void recordEvent(int event); + + /* eit updates */ + void gotNewEvent(); + void saveCutlist(); }; #endif