X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FExtensions%2FDVDPlayer%2Fsrc%2Fservicedvd.h;h=47e02d1acd59a47d675c9e835bc3ad19b8cf5fdc;hp=d0a6bb359cc20cb0466f978c79333eddf538a1af;hb=7963a66b2debe9cf6ae566cb88511fdfdc9dc216;hpb=2e0270746af934180499931f95ed91c444c8233e diff --git a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h index d0a6bb3..47e02d1 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,15 +35,18 @@ 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); + void setQpipMode(bool value, bool audio) { } + // iPlayableService RESULT connectEvent(const Slot2 &event, ePtr &connection); RESULT start(); @@ -88,10 +91,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 +110,7 @@ private: void thread(); void thread_finished(); - std::string m_filename; + eServiceReference m_ref; Signal2 m_event; @@ -118,12 +128,16 @@ private: char m_ddvd_titlestring[96]; - eSocketNotifier m_sn; + ePtr m_sn; eFixedMessagePump m_pump; pts_t m_cue_pts; + struct ddvd_resume m_resume_info; + void loadCuesheet(); void saveCuesheet(); + + int m_width, m_height, m_aspect, m_framerate, m_progressive; }; #endif