diff options
Diffstat (limited to 'lib/dvb/specs.h')
| -rw-r--r-- | lib/dvb/specs.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/lib/dvb/specs.h b/lib/dvb/specs.h new file mode 100644 index 00000000..3c6908c2 --- /dev/null +++ b/lib/dvb/specs.h @@ -0,0 +1,108 @@ +#ifndef __lib_dvb_specs_h +#define __lib_dvb_specs_h + +#include <lib/dvb/idvb.h> +#include <lib/dvb/isection.h> +#include <lib/dvb_si/pmt.h> +#include <lib/dvb_si/sdt.h> +#include <lib/dvb_si/nit.h> +#include <lib/dvb_si/bat.h> +#include <lib/dvb_si/pat.h> + +struct eDVBPMTSpec +{ + eDVBTableSpec m_spec; +public: + eDVBPMTSpec(int pid, int sid) + { + m_spec.pid = pid; + m_spec.tid = ProgramMapTable::TID; + m_spec.tidext = sid; + m_spec.timeout = ProgramMapTable::TIMEOUT; + m_spec.flags = eDVBTableSpec::tfAnyVersion | + eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfHaveTIDExt | + eDVBTableSpec::tfCheckCRC | eDVBTableSpec::tfHaveTimeout; + } + operator eDVBTableSpec &() + { + return m_spec; + } +}; + +struct eDVBSDTSpec +{ + eDVBTableSpec m_spec; +public: + eDVBSDTSpec() + { + m_spec.pid = ServiceDescriptionTable::PID; + m_spec.tid = ServiceDescriptionTable::TID; + m_spec.timeout = ServiceDescriptionTable::TIMEOUT; + m_spec.flags = eDVBTableSpec::tfAnyVersion | + eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC | + eDVBTableSpec::tfHaveTimeout; + } + operator eDVBTableSpec &() + { + return m_spec; + } +}; + +struct eDVBNITSpec +{ + eDVBTableSpec m_spec; +public: + eDVBNITSpec() + { + m_spec.pid = NetworkInformationTable::PID; + m_spec.tid = NetworkInformationTable::TID; + m_spec.timeout = NetworkInformationTable::TIMEOUT; + m_spec.flags = eDVBTableSpec::tfAnyVersion | + eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC | + eDVBTableSpec::tfHaveTimeout; + } + operator eDVBTableSpec &() + { + return m_spec; + } +}; + +struct eDVBBATSpec +{ + eDVBTableSpec m_spec; +public: + eDVBBATSpec() + { + m_spec.pid = BouquetAssociationTable::PID; + m_spec.tid = BouquetAssociationTable::TID; + m_spec.timeout = BouquetAssociationTable::TIMEOUT; + m_spec.flags = eDVBTableSpec::tfAnyVersion | + eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC | + eDVBTableSpec::tfHaveTimeout; + } + operator eDVBTableSpec &() + { + return m_spec; + } +}; + +struct eDVBPATSpec +{ + eDVBTableSpec m_spec; +public: + eDVBPATSpec() + { + m_spec.pid = ProgramAssociationTable::PID; + m_spec.tid = ProgramAssociationTable::TID; + m_spec.timeout = ProgramAssociationTable::TIMEOUT; + m_spec.flags = eDVBTableSpec::tfAnyVersion | + eDVBTableSpec::tfHaveTID | eDVBTableSpec::tfCheckCRC | + eDVBTableSpec::tfHaveTimeout; + } + operator eDVBTableSpec &() + { + return m_spec; + } +}; + +#endif |
