X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/59567589c05c2756dcf779cc24aa86becd63a68c..0e3e7773e5d8e7ff159316db3de7fcfad57bb9e8:/lib/dvb/pmt.h diff --git a/lib/dvb/pmt.h b/lib/dvb/pmt.h index e5b02752..185000d9 100644 --- a/lib/dvb/pmt.h +++ b/lib/dvb/pmt.h @@ -117,10 +117,29 @@ public: struct subtitleStream { int pid; - int subtitling_type; - int composition_page_id; - int ancillary_page_id; + int subtitling_type; /* see ETSI EN 300 468 table 26 component_type + when stream_content is 0x03 + 0x10..0x13, 0x20..0x23 is used for dvb subtitles + 0x01 is used for teletext subtitles */ + union + { + int composition_page_id; // used for dvb subtitles + int teletext_page_number; // used for teletext subtitles + }; + union + { + int ancillary_page_id; // used for dvb subtitles + int teletext_magazine_number; // used for teletext subtitles + }; std::string language_code; + bool operator<(const subtitleStream &s) + { + if (pid != s.pid) + return pid < s.pid; + if (teletext_page_number != s.teletext_page_number) + return teletext_page_number < s.teletext_page_number; + return teletext_magazine_number < s.teletext_magazine_number; + } }; struct program