#include <lib/dvb/pmt.h>
#include <lib/dvb/eit.h>
+#include <lib/dvb/subtitle.h>
#include <lib/dvb/teletext.h>
#include <lib/dvb/radiotext.h>
#include <lib/base/filepush.h>
PyObject *getContent(const char* formatstr, bool sorted=false);
RESULT getContent(std::list<eServiceReference> &list, bool sorted=false);
RESULT getNext(eServiceReference &ptr);
- int compareLessEqual(const eServiceReference &a, const eServiceReference &b);
+ inline int compareLessEqual(const eServiceReference &a, const eServiceReference &b);
RESULT startEdit(ePtr<iMutableServiceList> &);
RESULT flushChanges();
eBouquet *m_bouquet;
};
+inline int eDVBServiceList::compareLessEqual(const eServiceReference &a, const eServiceReference &b)
+{
+ return m_query->compareLessEqual((const eServiceReferenceDVB&)a, (const eServiceReferenceDVB&)b);
+}
+
class eDVBServiceBase: public iFrontendInformation
{
protected:
// iCueSheet
PyObject *getCutList();
- void setCutList(PyObject *);
+ void setCutList(SWIG_PYOBJECT(ePyObject));
void setCutListEnable(int enable);
// iSubtitleOutput
- RESULT enableSubtitles(eWidget *parent, PyObject *entry);
+ RESULT enableSubtitles(eWidget *parent, SWIG_PYOBJECT(ePyObject) entry);
RESULT disableSubtitles(eWidget *parent);
PyObject *getSubtitleList();
+ PyObject *getCachedSubtitle();
// iAudioDelay
int getAC3Delay();
void cutlistToCuesheet();
+ eSubtitleWidget *m_subtitle_widget;
+
/* teletext subtitles */
+ ePtr<eDVBTeletextParser> m_teletext_parser;
void newSubtitlePage(const eDVBTeletextSubtitlePage &p);
ePtr<eConnection> m_new_subtitle_page_connection;
-
- ePtr<eDVBTeletextParser> m_teletext_parser;
- ePtr<eDVBRadioTextParser> m_radiotext_parser;
- eSubtitleWidget *m_subtitle_widget;
- eTimer m_subtitle_sync_timer;
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);
+ RESULT getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &ptr, time_t start_time);
+};
+
#endif