X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a262e80aef98d57cc90a397629671124f4fa08f2..9bc3c10b61a9ed4d8ca0c47bc5c4a6b43e5817a2:/lib/dvb/teletext.h diff --git a/lib/dvb/teletext.h b/lib/dvb/teletext.h index 5b4a9703..a07c6aea 100644 --- a/lib/dvb/teletext.h +++ b/lib/dvb/teletext.h @@ -4,12 +4,15 @@ #include #include #include +#include #include +#include struct eDVBTeletextSubtitlePageElement { gRGB m_color; std::string m_text; + eRect m_area; eDVBTeletextSubtitlePageElement(const gRGB &color, const std::string &text) : m_color(color), m_text(text) { @@ -19,6 +22,7 @@ struct eDVBTeletextSubtitlePageElement struct eDVBTeletextSubtitlePage { pts_t m_pts; + int m_have_pts; int m_timeout; /* in pts */ std::vector m_elements; @@ -32,9 +36,12 @@ public: eDVBTeletextParser(iDVBDemux *demux); virtual ~eDVBTeletextParser(); int start(int pid); - void setPage(int page); - + void setPageAndMagazine(int page, int magazine); + void setMagazine(int magazine); + void connectNewPage(const Slot1 &slot, ePtr &connection); + std::set m_found_subtitle_pages; private: + std::map m_modifications; void processPESPacket(__u8 *pkt, int len); ePtr m_pes_reader; @@ -42,20 +49,20 @@ private: eDVBTeletextSubtitlePage m_subtitle_page; - int m_M, m_Y, m_X, m_S1, m_S2, m_S3, m_S4, m_C; - - int m_page_M, m_page_X, m_page_open; + int m_C, m_Y, m_pid, m_page_M, m_page_X, m_page_open, m_double_height, m_box_open; void handlePageStart(); void handleLine(unsigned char *line, int len); - void handlePageEnd(); + void handlePageEnd(int have_pts, const pts_t &pts); std::string m_subtitle_text; int m_subtitle_color; - void addSubtitleString(int color, const std::string &string); + void addSubtitleString(int color, std::string string); void sendSubtitlePage(); + + Signal1 m_new_subtitle_page; }; #endif