Ticket #1619: check-tsid.diff

File check-tsid.diff, 1.7 KB (added by Stuart Auchterlonie, 14 years ago)

Check the tsid of PATs

  • libs/libmythtv/mpeg/mpegstreamdata.cpp

    old new  
    392392
    393393    if (TableID::PAT == table_id)
    394394    {
    395         if (VersionPAT() != version)
     395        if ((GetPATTransportID() != psip.TableIDExtension()) ||
     396            (VersionPAT() != version))
    396397            return false;
    397398        return PATSectionSeen(psip.Section());
    398399    }
     
    425426        case TableID::PAT:
    426427        {
    427428            SetVersionPAT(version, psip.LastSection());
     429            SetPATTransportID(psip.TableIDExtension());
    428430            SetPATSectionSeen(psip.Section());
    429431            ProgramAssociationTable pat(psip);
    430432
  • libs/libmythtv/mpeg/mpegstreamdata.h

    old new  
    8484    }
    8585    int  VersionPAT(void) const { return _pat_version; }
    8686
     87    void SetPATTransportID(int tsid) { _pat_transport = tsid; }
     88    int  GetPATTransportID(void) const { return _pat_transport; }
     89
    8790    void SetVersionPMT(uint program_num, int version, uint last_section)
    8891    {
    8992        if (VersionPMT(program_num) == version)
     
    202205    int                       _pat_version;
    203206    QMap<uint, int>           _pmt_version;
    204207
     208    int                       _pat_transport;
     209
    205210    sections_t                _pat_section_seen;
    206211    sections_map_t            _pmt_section_seen;
    207212