X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/4039e9f6ae8e20a8440bf1d1cbaaddcf8f140c29..66fe4b3122e8be475ed557a6324e709eb1ca520a:/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 bdec4836..80cfcf0c 100644 --- a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h +++ b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h @@ -26,7 +26,7 @@ public: RESULT offlineOperations(const eServiceReference &, ePtr &ptr); }; -class eServiceDVD: public iPlayableService, public iPauseableService, public iSeekableService, +class eServiceDVD: public iPlayableService, public iPauseableService, public iSeekableService, public iAudioTrackSelection, public iServiceInformation, public iSubtitleOutput, public iServiceKeys, public iCueSheet, public eThread, public Object { friend class eServiceFactoryDVD; @@ -35,13 +35,14 @@ public: virtual ~eServiceDVD(); // not implemented (yet) RESULT audioChannel(ePtr &ptr) { ptr = 0; return -1; } - RESULT audioTracks(ePtr &ptr) { ptr = 0; return -1; } + RESULT audioTracks(ePtr &ptr); RESULT frontendInfo(ePtr &ptr) { ptr = 0; return -1; } RESULT subServices(ePtr &ptr) { ptr = 0; return -1; } RESULT timeshift(ePtr &ptr) { ptr = 0; return -1; } RESULT audioDelay(ePtr &ptr) { ptr = 0; return -1; } RESULT rdsDecoder(ePtr &ptr) { ptr = 0; return -1; } RESULT stream(ePtr &ptr) { ptr = 0; return -1; } + RESULT streamed(ePtr &ptr) { ptr = 0; return -1; } RESULT cueSheet(ePtr &ptr); // iPlayableService @@ -88,10 +89,17 @@ public: void setCutList(SWIG_PYOBJECT(ePyObject)); void setCutListEnable(int enable); - // iServiceKeys + // iAudioTrackSelection + int getNumberOfTracks(); + RESULT selectTrack(unsigned int i); + RESULT getTrackInfo(struct iAudioTrackInfo &, unsigned int n); + int getCurrentTrack(); + + // 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 @@ -100,7 +108,7 @@ private: void thread(); void thread_finished(); - std::string m_filename; + eServiceReference m_ref; Signal2 m_event; @@ -118,7 +126,7 @@ private: char m_ddvd_titlestring[96]; - eSocketNotifier m_sn; + ePtr m_sn; eFixedMessagePump m_pump; pts_t m_cue_pts; @@ -126,6 +134,8 @@ private: void loadCuesheet(); void saveCuesheet(); + + int m_width, m_height, m_aspect, m_framerate, m_progressive; }; #endif