-DECLARE_REF(eServiceFactoryDVB);
+ DECLARE_REF(eServiceFactoryDVB);
+ ePtr<eStaticServiceDVBInformation> m_StaticServiceDVBInfo;
+ ePtr<eStaticServiceDVBBouquetInformation> m_StaticServiceDVBBouquetInfo;
RESULT removeService(eServiceReference &ref);
RESULT moveService(eServiceReference &ref, int pos);
RESULT setListName(const std::string &name);
RESULT removeService(eServiceReference &ref);
RESULT moveService(eServiceReference &ref, int pos);
RESULT setListName(const std::string &name);
public iSeekableService, public Object, public iServiceInformation,
public iAudioTrackSelection, public iAudioChannelSelection,
public iSubserviceList, public iTimeshiftService,
public iSeekableService, public Object, public iServiceInformation,
public iAudioTrackSelection, public iAudioChannelSelection,
public iSubserviceList, public iTimeshiftService,
RESULT timeshift(ePtr<iTimeshiftService> &ptr);
RESULT cueSheet(ePtr<iCueSheet> &ptr);
RESULT subtitle(ePtr<iSubtitleOutput> &ptr);
RESULT timeshift(ePtr<iTimeshiftService> &ptr);
RESULT cueSheet(ePtr<iCueSheet> &ptr);
RESULT subtitle(ePtr<iSubtitleOutput> &ptr);
// iSubserviceList
int getNumberOfSubservices();
RESULT getSubservice(eServiceReference &subservice, unsigned int n);
// iSubserviceList
int getNumberOfSubservices();
RESULT getSubservice(eServiceReference &subservice, unsigned int n);
/* in timeshift mode, we essentially have two channels, and thus pmt handlers. */
eDVBServicePMTHandler m_service_handler_timeshift;
/* in timeshift mode, we essentially have two channels, and thus pmt handlers. */
eDVBServicePMTHandler m_service_handler_timeshift;
+ eTimer m_subtitle_sync_timer;
+ std::list<eDVBTeletextSubtitlePage> m_subtitle_pages;
+
+ void checkSubtitleTiming();
+
+ /* radiotext */
+ ePtr<eConnection> m_radiotext_updated_connection;
+ void radioTextUpdated();