Update httpstream
[vuplus_dvbapp] / lib / dvb / specs.h
index 514bc34..d6ddde4 100644 (file)
@@ -14,12 +14,12 @@ struct eDVBPMTSpec
 {
        eDVBTableSpec m_spec;
 public:
-       eDVBPMTSpec(int pid, int sid, bool long_timeout = false)
+       eDVBPMTSpec(int pid, int sid, int timeout = 20000)
        {
                m_spec.pid     = pid;
                m_spec.tid     = ProgramMapSection::TID;
                m_spec.tidext  = sid;
-               m_spec.timeout = long_timeout ? 20000 : 4000; // ProgramMapSection::TIMEOUT;
+               m_spec.timeout = timeout; // ProgramMapSection::TIMEOUT;
                m_spec.flags   = eDVBTableSpec::tfAnyVersion | 
                        eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfHaveTIDExt | 
                        eDVBTableSpec::tfCheckCRC | eDVBTableSpec::tfHaveTimeout;
@@ -48,7 +48,7 @@ public:
                m_spec.pid     = ServiceDescriptionSection::PID;
                m_spec.tid     = ServiceDescriptionSection::TID;
                m_spec.tidext  = tsid;
-               m_spec.timeout = 20000; // ServiceDescriptionSection::TIMEOUT;
+               m_spec.timeout = 60000; // ServiceDescriptionSection::TIMEOUT;
                m_spec.flags   = eDVBTableSpec::tfAnyVersion |
                        eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
                        eDVBTableSpec::tfHaveTIDExt | eDVBTableSpec::tfHaveTimeout;
@@ -108,11 +108,11 @@ struct eDVBPATSpec
 {
        eDVBTableSpec m_spec;
 public:
-       eDVBPATSpec(bool long_timeout=false)
+       eDVBPATSpec(int timeout=20000)
        {
                m_spec.pid     = ProgramAssociationSection::PID;
                m_spec.tid     = ProgramAssociationSection::TID;
-               m_spec.timeout = long_timeout ? 20000 : 4000; // ProgramAssociationSection::TIMEOUT;
+               m_spec.timeout = timeout; // ProgramAssociationSection::TIMEOUT;
                m_spec.flags   = eDVBTableSpec::tfAnyVersion |
                        eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
                        eDVBTableSpec::tfHaveTimeout;
@@ -165,4 +165,44 @@ public:
        }
 };
 
+#include <dvbsi++/application_information_section.h>
+
+struct eDVBAITSpec
+{
+       eDVBTableSpec m_spec;
+public:
+       eDVBAITSpec(int pid)
+       {
+               m_spec.pid     = pid;
+               m_spec.tid     = ApplicationInformationSection::TID;
+               m_spec.timeout = ApplicationInformationSection::TIMEOUT;
+               m_spec.flags   = eDVBTableSpec::tfAnyVersion |
+                       eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
+                       eDVBTableSpec::tfHaveTimeout;
+       }
+       operator eDVBTableSpec &()
+       {
+               return m_spec;
+       }
+};
+
+struct eDVBDSMCCDLDataSpec
+{
+       eDVBTableSpec m_spec;
+public:
+       eDVBDSMCCDLDataSpec(int pid)
+       {
+               m_spec.pid     = pid;
+               m_spec.tid     = TID_DSMCC_DL_DATA;
+               m_spec.timeout = 20000;
+               m_spec.flags   = eDVBTableSpec::tfAnyVersion |
+                       eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
+                       eDVBTableSpec::tfHaveTimeout;
+       }
+       operator eDVBTableSpec &()
+       {
+               return m_spec;
+       }
+};
+
 #endif