⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sitypes.h

📁 数字电视中间件小型库
💻 H
📖 第 1 页 / 共 2 页
字号:
    QDateTime EndTime;    uint16_t TransportID;    uint16_t NetworkID;    QString LanguageCode;    uint16_t ServiceID;    /* NOT the Virtual Channel Number used by ATSC */    QString Event_Name;    QString Event_Subtitle;    QString Description;    uint16_t EventID;    QString ContentDescription;    QString Year;    QStringList Actors;    bool Stereo;    bool HDTV;    bool SubTitled;    int ETM_Location;    /* Used to flag still waiting ETTs for ATSC */    bool ATSC;    //bool PreviouslyShown;    QDate OriginalAirDate;    QValueList<Person> Credits;};// DVB TransportObject - Used with NIT Scanningclass TransportObject{public:    TransportObject() { Reset(); }    TransportObject(const QString& DVBType)                    : Type(DVBType)                        { }    void Reset();    // Many of these object types are QStrings since it will    // go into the database easier, and also be handled by    // ParseQPSK,ParseQAM,ParseXXX since that is what they expect    QString Type;    uint16_t NetworkID;    uint16_t TransportID;    // DVB Global    uint32_t Frequency;    QString Modulation;    uint32_t SymbolRate;    QString FEC_Inner;    // DVB-S Specific    QString Polarity;    QString OrbitalLocation;    // DVB-C Specific    QString FEC_Outer;    // DVB-T Speficic    QString Bandwidth;    QString Constellation;    // QString CentreFrequency - Place in Frequency    QString Hiearchy;    QString CodeRateHP;    QString CodeRateLP;    QString GuardInterval;    QString TransmissionMode;    QString Inversion;    //Additional frequencies    QValueList<unsigned> frequencies;};class NetworkObject{public:    NetworkObject() { Reset(); }    void Reset();    uint16_t NetworkID;    QString NetworkName;    uint16_t LinkageTransportID;    uint16_t LinkageNetworkID;    uint16_t LinkageServiceID;    uint16_t LinkageType;    uint8_t LinkagePresent;};class NITObject{public:    QValueList<NetworkObject> Network;    QValueList<TransportObject> Transport;};class PMTObject{public:    PMTObject() { Reset(); }    void Reset();    bool TelevisionService() { return hasVideo && hasAudio; }    bool OnAir() { return TelevisionService(); }    bool FTA() { return !hasCA; }    uint16_t PCRPID;    uint16_t ServiceID;    uint16_t PMTPID;    CAMap CA;    DescriptorList Descriptors;    QValueList<ElementaryPIDObject> Components;    bool hasCA;    bool hasAudio;    bool hasVideo;};// --- BEGIN: changes by PJ ---class DSMCCHandler : public TableHandler{public:    DSMCCHandler() : TableHandler() { Reset(); }    ~DSMCCHandler() {}    void Reset() { status.clear(); patloaded = false;}    bool RequirePIDs();    bool GetPIDs(uint16_t& pid, uint8_t& filter, uint8_t& mask);    void Request(uint16_t key = 0);    void RequestEmit(uint16_t key);    bool EmitRequired();    bool CompleteEmitRequired() { return false; }    bool GetEmitID(uint16_t& key0, uint16_t& key1);    void DependencyMet(tabletypes t) {if (t == PAT) patloaded = true;}        // Never complete, we always want to get fresh data (carousel updates etc)    bool Complete() { return false; }    // Dummy methods that have been neutered to do nothing:    bool AddSection(tablehead_t* head, uint16_t key0, uint16_t key1);    void DependencyChanged(tabletypes t) {(void) t;}private:    bool                patloaded;    QMap_pullStatus     status;};// --- END: changes by PJ ---/* PAT Handler */class PATHandler : public TableHandler{public:    PATHandler() : TableHandler() {}    ~PATHandler() {}    void Reset();    bool RequirePIDs();    bool GetPIDs(uint16_t& pid, uint8_t& filter, uint8_t& mask);    void Request(uint16_t key = 0);    bool Complete();    void AddKey(uint16_t key0, uint16_t key1) { (void) key0; (void) key1; }    bool AddSection(tablehead_t *head, uint16_t key0 = 0, uint16_t key1 = 0);    void DependencyMet(tabletypes t) { (void) t; }    void DependencyChanged(tabletypes t) { (void) t; }    QMap_uint16_t pids;    SectionTracker Tracker;    pullStatus     status;};/* PMT Handler */typedef QMap<uint16_t,PMTObject> QMap_PMTObject;class PMTHandler : public TableHandler{public:    PMTHandler() : TableHandler() { Reset(); }    ~PMTHandler() {}    void Reset() { Tracker.clear();  pmt.clear();  status.clear(); patloaded = false; }    bool RequirePIDs();    bool GetPIDs(uint16_t& pid, uint8_t& filter, uint8_t& mask);    void Request(uint16_t key = 0) { (void) key; }    void RequestEmit(uint16_t key);    bool EmitRequired();    bool CompleteEmitRequired() { return false; }    bool GetEmitID(uint16_t& key0, uint16_t& key1);    bool AddSection(tablehead_t* head, uint16_t key0, uint16_t key1);    bool Complete() { return false; }    void AddKey(uint16_t key0, uint16_t key1);    void DependencyMet(tabletypes t);    void DependencyChanged(tabletypes t);    QMap_PMTObject      pmt;private:    QMap_SectionTracker Tracker;    bool                patloaded;    QMap_pullStatus     status;};class MGTHandler : public TableHandler{public:    MGTHandler() : TableHandler() { }    ~MGTHandler() {}    void Reset() { status.Reset();  Tracker.Reset();  pids.clear(); }    bool RequirePIDs();    /* It's best to open the PID wide open so you get the other ATSC tables */    bool GetPIDs(uint16_t& pid, uint8_t& filter, uint8_t& mask);    void Request(uint16_t key = 0);    bool Complete();    void AddKey(uint16_t key0, uint16_t key1) { (void) key0; (void) key1; }    bool AddSection(tablehead_t *head, uint16_t key0 = 0, uint16_t key1 = 0);    void DependencyMet(tabletypes t) { (void) t; }    void DependencyChanged(tabletypes t) { (void) t; }    QMap_uint16_t pids;    SectionTracker Tracker;    pullStatus     status;};class STTHandler : public TableHandler{public:    STTHandler() : TableHandler() {}    ~STTHandler() {}    void Reset() { status.Reset();  Tracker.Reset();  GPSOffset = 0; }    bool RequirePIDs();    bool GetPIDs(uint16_t& pid, uint8_t& filter, uint8_t& mask);    void Request(uint16_t key = 0);    bool Complete();    void AddKey(uint16_t key0, uint16_t key1) { (void) key0; (void) key1; }    bool AddSection(tablehead_t *head, uint16_t key0 = 0, uint16_t key1 = 0);    void DependencyMet(tabletypes t) { (void) t; }    void DependencyChanged(tabletypes t) { (void) t; }    int           GPSOffset;    SectionTracker Tracker;    pullStatus     status;};// TODO: Setup only for ATSC Guide right nowclass EventHandler : public TableHandler{public:    EventHandler() : TableHandler() { Reset(); }    ~EventHandler() {}    void Reset();    void SetSIStandard(SISTANDARD _SIStandard) { SIStandard = _SIStandard; }    bool Complete();    void SetupTrackers();    bool RequirePIDs();    bool GetPIDs(uint16_t& pid, uint8_t& filter, uint8_t& mask);    void Request(uint16_t key) { (void) key; }    void RequestEmit(uint16_t key);    bool EmitRequired();    bool GetEmitID(uint16_t& key0, uint16_t& key1);    void DependencyMet(tabletypes t);    void AddPid(uint16_t pid,uint8_t filter, uint8_t mask, uint8_t key);    bool AddSection(tablehead_t *head, uint16_t key0, uint16_t key1);    QMap2D_SectionTracker  Tracker;    QMap_pullStatus        status;        /* Status of serviceIDs */    bool                   mgtloaded;    bool                   sttloaded;    bool                   servicesloaded;    bool                   CompleteSent;    QMap_pidHandler        EITpid;        /* for ATSC use this as a key */    QMap_pidHandler        ETTpid;    QMap2D_Events          Events;    QMap_bool              TrackerSetup;};class ServiceHandler : public TableHandler{public:    ServiceHandler() : TableHandler() { Reset(); }    ~ServiceHandler() {}    void SetSIStandard(SISTANDARD _SIStandard) { SIStandard = _SIStandard; }    void Reset();    bool Complete();    bool RequirePIDs();    bool GetPIDs(uint16_t& pid, uint8_t& filter, uint8_t& mask);    void Request(uint16_t key);    void RequestEmit(uint16_t key);    bool EmitRequired() { return false; }    bool GetEmitID(uint16_t& key0, uint16_t& key1);    void DependencyMet(tabletypes t);    bool AddSection(tablehead_t *head, uint16_t key0, uint16_t key1);    QMap_SectionTracker    Tracker;    QMap_pullStatus        status;        /* Status of each transport */    bool                   mgtloaded;    bool                   nitloaded;    bool                   CompleteSent;    QMap2D_SDTObject       Services;};class NetworkHandler : public TableHandler{public:    NetworkHandler() : TableHandler() { Reset(); }    ~NetworkHandler() {}    void SetSIStandard(SISTANDARD _SIStandard) { SIStandard = _SIStandard; }    void Reset();    bool Complete();    bool RequirePIDs();    bool GetPIDs(uint16_t& pid, uint8_t& filter, uint8_t& mask);    void Request(uint16_t key);    void RequestEmit(uint16_t key);    bool EmitRequired();    bool GetEmitID(uint16_t& key0, uint16_t& key1);    bool AddSection(tablehead_t *head, uint16_t key0, uint16_t key1);    void DependencyMet(tabletypes t) { (void) t;}    SISTANDARD           SIStandard;    SectionTracker         Tracker;    pullStatus             status;    bool                 mgtloaded;    bool                   CompleteSent;    NITObject              NITList;};#endif // SITYPES_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -