X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/dc5b3144665e827fccf38fcab1c167e6dacdac7a..7d7331ac43c18159a7ebeb652e0e7d971118a8f7:/lib/service/servicedvb.h diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index 85653caa..5d3d0085 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -41,7 +41,7 @@ public: RESULT startEdit(ePtr &); RESULT flushChanges(); - RESULT addService(eServiceReference &ref); + RESULT addService(eServiceReference &ref, eServiceReference before); RESULT removeService(eServiceReference &ref); RESULT moveService(eServiceReference &ref, int pos); RESULT setListName(const std::string &name); @@ -73,7 +73,7 @@ class eDVBServicePlay: public eDVBServiceBase, public iSeekableService, public Object, public iServiceInformation, public iAudioTrackSelection, public iAudioChannelSelection, public iSubserviceList, public iTimeshiftService, - public iCueSheet, public iSubtitleOutput + public iCueSheet, public iSubtitleOutput, public iAudioDelay { DECLARE_REF(eDVBServicePlay); public: @@ -95,6 +95,7 @@ public: RESULT timeshift(ePtr &ptr); RESULT cueSheet(ePtr &ptr); RESULT subtitle(ePtr &ptr); + RESULT audioDelay(ePtr &ptr); // iPauseableService RESULT pause(); @@ -142,9 +143,15 @@ public: void setCutListEnable(int enable); // iSubtitleOutput - RESULT enableSubtitles(eWidget *parent, int index); + RESULT enableSubtitles(eWidget *parent, PyObject *entry); RESULT disableSubtitles(eWidget *parent); - SWIG_VOID(RESULT) getSubtitleList(PyList *list); + PyObject *getSubtitleList(); + + // iAudioDelay + int getAC3Delay(); + int getPCMDelay(); + void setAC3Delay(int); + void setPCMDelay(int); private: friend class eServiceFactoryDVB; @@ -154,6 +161,7 @@ private: ePtr m_decoder; int m_is_primary; + int m_have_video_pid; /* in timeshift mode, we essentially have two channels, and thus pmt handlers. */ eDVBServicePMTHandler m_service_handler_timeshift; @@ -176,7 +184,7 @@ private: int m_timeshift_fd; ePtr m_decode_demux; - + int m_current_audio_stream; int selectAudioStream(int n); @@ -225,6 +233,10 @@ private: ePtr m_teletext_parser; eSubtitleWidget *m_subtitle_widget; + eTimer m_subtitle_sync_timer; + std::list m_subtitle_pages; + + void checkSubtitleTiming(); }; #endif