X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c389119db9c2134103d5845dca1387ad7d8367da..7d7331ac43c18159a7ebeb652e0e7d971118a8f7:/lib/service/servicedvb.h diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index 00aba963..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(); @@ -146,6 +147,12 @@ public: RESULT disableSubtitles(eWidget *parent); PyObject *getSubtitleList(); + // iAudioDelay + int getAC3Delay(); + int getPCMDelay(); + void setAC3Delay(int); + void setPCMDelay(int); + private: friend class eServiceFactoryDVB; eServiceReference m_reference; @@ -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