X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/17be24380f07656d14b88baf5af0d9ef3d8eddfd..36b4f5eccf81cc7a650d3bbfcc975d42b3d905c4:/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h diff --git a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h index ed5d49bd..c751a394 100644 --- a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h +++ b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h @@ -6,15 +6,13 @@ #include #include -#define cue - class eSubtitleWidget; class gPixmap; class eStaticServiceDVDInfo; class eServiceFactoryDVD: public iServiceHandler { -DECLARE_REF(eServiceFactoryDVD); + DECLARE_REF(eServiceFactoryDVD); public: eServiceFactoryDVD(); virtual ~eServiceFactoryDVD(); @@ -29,13 +27,10 @@ public: }; class eServiceDVD: public iPlayableService, public iPauseableService, public iSeekableService, - public iServiceInformation, public iSubtitleOutput, public iServiceKeys, public eThread, public Object -#ifdef cue -, public iCueSheet -#endif + public iServiceInformation, public iSubtitleOutput, public iServiceKeys, public iCueSheet, public eThread, public Object { friend class eServiceFactoryDVD; -DECLARE_REF(eServiceDVD); + DECLARE_REF(eServiceDVD); public: virtual ~eServiceDVD(); // not implemented (yet) @@ -47,11 +42,8 @@ public: RESULT audioDelay(ePtr &ptr) { ptr = 0; return -1; } RESULT rdsDecoder(ePtr &ptr) { ptr = 0; return -1; } RESULT stream(ePtr &ptr) { ptr = 0; return -1; } -#ifdef cue + RESULT streamed(ePtr &ptr) { ptr = 0; return -1; } RESULT cueSheet(ePtr &ptr); -#else - RESULT cueSheet(ePtr &ptr) { ptr = 0; return -1; } -#endif // iPlayableService RESULT connectEvent(const Slot2 &event, ePtr &connection); @@ -76,7 +68,6 @@ public: PyObject *getSubtitleList(); PyObject *getCachedSubtitle(); -#if 1 // iSeekableService RESULT getLength(pts_t &len); RESULT seekTo(pts_t to); @@ -85,7 +76,7 @@ public: RESULT setTrickmode(int trick=0); RESULT isCurrentlySeekable(); RESULT seekChapter(int chapter); -#endif + RESULT seekTitle(int title); // iServiceInformation RESULT getName(std::string &name); @@ -93,16 +84,15 @@ public: std::string getInfoString(int w); virtual PyObject *getInfoObject(int w); -#ifdef cue // iCueSheet PyObject *getCutList(); void setCutList(SWIG_PYOBJECT(ePyObject)); void setCutListEnable(int enable); -#endif + // iServiceKeys RESULT keyPressed(int key); private: - eServiceDVD(const char *filename); + eServiceDVD(eServiceReference ref); void gotMessage(int); // message from dvdlib void gotThreadMessage(const int &); // message from dvd thread @@ -111,7 +101,7 @@ private: void thread(); void thread_finished(); - std::string m_filename; + eServiceReference m_ref; Signal2 m_event; @@ -121,46 +111,24 @@ private: enum { - stIdle, stRunning, stStopped, + stIdle, stRunning, stMenu, stStopped }; int m_state; int m_current_trick; - pts_t m_doSeekTo; - int m_seekTitle; char m_ddvd_titlestring[96]; - eSocketNotifier m_sn; + ePtr m_sn; eFixedMessagePump m_pump; -#ifdef cue -// ePtr m_cue; -// -// struct cueEntry -// { -// pts_t where; -// unsigned int what; -// -// bool operator < (const struct cueEntry &o) const -// { -// return where < o.where; -// } -// cueEntry(const pts_t &where, unsigned int what) : -// where(where), what(what) -// { -// } -// }; - -// std::multiset m_cue_entries; - int m_cuesheet_changed, m_cutlist_enabled; pts_t m_cue_pts; - + struct ddvd_resume m_resume_info; + void loadCuesheet(); void saveCuesheet(); - -// void cutlistToCuesheet(); -#endif + + int m_width, m_height, m_aspect, m_framerate, m_progressive; }; #endif