X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/211d70fe8a326748743da7642f8b1f3ca10adc94..5264f2cd003271ba2c426e21d62d13025dba177b:/lib/service/servicedvbrecord.h diff --git a/lib/service/servicedvbrecord.h b/lib/service/servicedvbrecord.h index 5f36991f..018e83f9 100644 --- a/lib/service/servicedvbrecord.h +++ b/lib/service/servicedvbrecord.h @@ -11,15 +11,24 @@ #include class eDVBServiceRecord: public eDVBServiceBase, - public iRecordableService, public Object + public iRecordableService, + public iStreamableService, + public Object { DECLARE_REF(eDVBServiceRecord); 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 stop(); + RESULT stream(ePtr &ptr); RESULT getError(int &error) { error = m_error; return 0; } + RESULT frontendInfo(ePtr &ptr); + + /* streamable service */ + PyObject *getStreamingData(); + private: enum { stateIdle, statePrepared, stateRecording }; int m_state, m_want_record; @@ -34,15 +43,14 @@ private: std::set m_pids_active; std::string m_filename; int m_target_fd; + int m_streaming; int doPrepare(); int doRecord(); - RESULT frontendInfo(ePtr &ptr); /* events */ void serviceEvent(int event); Signal2 m_event; - }; #endif