+ void newSubtitlePage(const eDVBTeletextSubtitlePage &p);
+ ePtr<eConnection> m_new_subtitle_page_connection;
+ std::list<eDVBTeletextSubtitlePage> m_subtitle_pages;
+
+ /* dvb subtitles */
+ ePtr<eDVBSubtitleParser> m_subtitle_parser;
+ void newDVBSubtitlePage(const eDVBSubtitlePage &p);
+ ePtr<eConnection> m_new_dvb_subtitle_page_connection;
+ std::list<eDVBSubtitlePage> m_dvb_subtitle_pages;
+
+ eTimer m_subtitle_sync_timer;
+ void checkSubtitleTiming();
+
+ /* radiotext */
+ ePtr<eDVBRadioTextParser> m_radiotext_parser;
+ ePtr<eConnection> m_radiotext_updated_connection;
+ void radioTextUpdated();
+};
+
+class eStaticServiceDVBBouquetInformation: public iStaticServiceInformation
+{
+ DECLARE_REF(eStaticServiceDVBBouquetInformation);
+ eServiceReference m_playable_service;
+public:
+ eServiceReference &getPlayableService() { return m_playable_service; }
+ RESULT getName(const eServiceReference &ref, std::string &name);
+ int getLength(const eServiceReference &ref);
+ int isPlayable(const eServiceReference &ref, const eServiceReference &ignore);