Merge remote branch 'origin/pootle-import'
[enigma2.git] / lib / python / Plugins / Extensions / DVDPlayer / src / servicedvd.h
index 94843a4e963d8ebbc2950762c7d86afb7f71113e..80cfcf0c94b954769944cafed7ba6596584c8526 100644 (file)
@@ -26,7 +26,7 @@ public:
        RESULT offlineOperations(const eServiceReference &, ePtr<iServiceOfflineOperations> &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,7 +35,7 @@ public:
        virtual ~eServiceDVD();
                // not implemented (yet)
        RESULT audioChannel(ePtr<iAudioChannelSelection> &ptr) { ptr = 0; return -1; }
-       RESULT audioTracks(ePtr<iAudioTrackSelection> &ptr) { ptr = 0; return -1; }
+       RESULT audioTracks(ePtr<iAudioTrackSelection> &ptr);
        RESULT frontendInfo(ePtr<iFrontendInformation> &ptr) { ptr = 0; return -1; }
        RESULT subServices(ePtr<iSubserviceList> &ptr) { ptr = 0; return -1; }
        RESULT timeshift(ePtr<iTimeshiftService> &ptr) { ptr = 0; return -1; }
@@ -89,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
@@ -101,7 +108,7 @@ private:
        void thread();
        void thread_finished();
 
-       std::string m_filename;
+       eServiceReference m_ref;
 
        Signal2<void,iPlayableService*,int> m_event;
 
@@ -127,6 +134,8 @@ private:
 
        void loadCuesheet();
        void saveCuesheet();
+
+       int m_width, m_height, m_aspect, m_framerate, m_progressive;
 };
 
 #endif