do not translate empty string
[enigma2.git] / lib / dvb / pmt.h
index 57176d1f363d189365c445f47faf74d0b56efddf..701930dc4fedfee6f6af6b69158570ef6f61581c 100644 (file)
@@ -72,9 +72,10 @@ class eDVBServicePMTHandler: public Object
        void PMTready(int error);
        void PATready(int error);
        
+       int m_pmt_pid;
+       
        int m_use_decode_demux;
        uint8_t m_decode_demux_num;
-
 public:
        eDVBServicePMTHandler();
        ~eDVBServicePMTHandler();
@@ -112,19 +113,28 @@ public:
                int component_tag;
                std::string language_code; /* iso-639, if available. */
        };
-       
+
+       struct subtitleStream
+       {
+               int pid;
+               int subtitling_type;
+               int composition_page_id;
+               int ancillary_page_id;
+               std::string language_code;
+       };
+
        struct program
        {
                std::vector<videoStream> videoStreams;
                std::vector<audioStream> audioStreams;
+               std::vector<subtitleStream> subtitleStreams;
                std::set<uint16_t> caids;
                int pcrPid;
                int pmtPid;
                int textPid;
                bool isCrypted() { return !caids.empty(); }
-               int audioChannel;
        };
-       
+
        int getProgramInfo(struct program &program);
        int getDataDemux(ePtr<iDVBDemux> &demux);
        int getDecodeDemux(ePtr<iDVBDemux> &demux);
@@ -138,8 +148,9 @@ public:
 
        int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0);
        void free();
-
-       int m_pmt_pid;
+private:
+       bool m_have_cached_program;
+       program m_cached_program;
 };
 
 #endif