X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fdvb%2Fspecs.h;h=d6ddde4d30cf07115bbefb1cb2710e103887630b;hb=b5a5859ed517e70aaac405fa70e21e76f3fc72b7;hp=c53a23b50a63ab784d4279a75d09054c256f3ab6;hpb=f2f479db5200a1b73c88330f253fabc3c6768e5e;p=vuplus_dvbapp diff --git a/lib/dvb/specs.h b/lib/dvb/specs.h index c53a23b..d6ddde4 100644 --- a/lib/dvb/specs.h +++ b/lib/dvb/specs.h @@ -14,12 +14,12 @@ struct eDVBPMTSpec { eDVBTableSpec m_spec; public: - eDVBPMTSpec(int pid, int sid) + eDVBPMTSpec(int pid, int sid, int timeout = 20000) { m_spec.pid = pid; m_spec.tid = ProgramMapSection::TID; m_spec.tidext = sid; - m_spec.timeout = 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() + eDVBPATSpec(int timeout=20000) { m_spec.pid = ProgramAssociationSection::PID; m_spec.tid = ProgramAssociationSection::TID; - m_spec.timeout = 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 + +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