{
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 = 20000; // ProgramMapSection::TIMEOUT;
+ m_spec.timeout = timeout; // ProgramMapSection::TIMEOUT;
m_spec.flags = eDVBTableSpec::tfAnyVersion |
eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfHaveTIDExt |
eDVBTableSpec::tfCheckCRC | eDVBTableSpec::tfHaveTimeout;
eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
eDVBTableSpec::tfHaveTimeout;
}
+ eDVBSDTSpec(int tsid, bool other=false)
+ {
+ m_spec.pid = ServiceDescriptionSection::PID;
+ m_spec.tid = ServiceDescriptionSection::TID;
+ m_spec.tidext = tsid;
+ m_spec.timeout = 20000; // ServiceDescriptionSection::TIMEOUT;
+ m_spec.flags = eDVBTableSpec::tfAnyVersion |
+ eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
+ eDVBTableSpec::tfHaveTIDExt | eDVBTableSpec::tfHaveTimeout;
+ if (other)
+ {
+ // SDT other transport stream have TID 0x46 (current is 0x42)
+ // so we mask out the third bit in table id mask..
+ m_spec.flags |= eDVBTableSpec::tfHaveTIDMask;
+ m_spec.tid_mask = 0xFB;
+ }
+ }
operator eDVBTableSpec &()
{
return m_spec;
{
eDVBTableSpec m_spec;
public:
- eDVBPATSpec()
+ eDVBPATSpec(int timeout=20000)
{
m_spec.pid = ProgramAssociationSection::PID;
m_spec.tid = ProgramAssociationSection::TID;
- m_spec.timeout = 20000; // ProgramAssociationSection::TIMEOUT;
+ m_spec.timeout = timeout; // ProgramAssociationSection::TIMEOUT;
m_spec.flags = eDVBTableSpec::tfAnyVersion |
eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC |
eDVBTableSpec::tfHaveTimeout;