class eServiceFactoryDVD: public iServiceHandler
{
-DECLARE_REF(eServiceFactoryDVD);
+ DECLARE_REF(eServiceFactoryDVD);
public:
eServiceFactoryDVD();
virtual ~eServiceFactoryDVD();
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)
RESULT audioDelay(ePtr<iAudioDelay> &ptr) { ptr = 0; return -1; }
RESULT rdsDecoder(ePtr<iRdsDecoder> &ptr) { ptr = 0; return -1; }
RESULT stream(ePtr<iStreamableService> &ptr) { ptr = 0; return -1; }
+ RESULT streamed(ePtr<iStreamedService> &ptr) { ptr = 0; return -1; }
RESULT cueSheet(ePtr<iCueSheet> &ptr);
// iPlayableService
// 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
void thread();
void thread_finished();
- std::string m_filename;
+ eServiceReference m_ref;
Signal2<void,iPlayableService*,int> m_event;
char m_ddvd_titlestring[96];
- eSocketNotifier m_sn;
+ ePtr<eSocketNotifier> m_sn;
eFixedMessagePump<int> 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