Ticket #1485: sdt.patch

File sdt.patch, 1.5 KB (added by stuart@…, 15 years ago)

Temporary fix for SDT problem.

  • libs/libmythtv/mpeg/dvbstreamdata.cpp

     
    161161        }
    162162        case TableID::SDT:
    163163        {
    164             uint tsid = psip.TableIDExtension();
    165             SetVersionSDT(tsid, psip.Version(), psip.LastSection());
    166             SetSDTSectionSeen(tsid, psip.Section());
    167             ServiceDescriptionTable sdt(psip);
    168 
    169             if (_cache_tables)
    170                 CacheSDT(&sdt);
    171 
    172             emit UpdateSDT(tsid, &sdt);
    173 
    174             return true;
     164            if (HasAllNITSections())
     165            {
     166                uint tsid = psip.TableIDExtension();
     167                SetVersionSDT(tsid, psip.Version(), psip.LastSection());
     168                SetSDTSectionSeen(tsid, psip.Section());
     169                ServiceDescriptionTable sdt(psip);
     170   
     171                if (_cache_tables)
     172                    CacheSDT(&sdt);
     173   
     174                emit UpdateSDT(tsid, &sdt);
     175   
     176                return true;
     177            }
     178            return false;
    175179        }
    176180        case TableID::NITo:
    177181        {
     
    401405    if (_cached_nit.empty())
    402406        return false;
    403407
     408#if 0
    404409    nit_cache_t::const_iterator it = _cached_nit.begin();
    405410    for (; it != _cached_nit.end(); ++it)
    406411    {
     
    411416            if (!HasCachedAllSDT((*it)->TSID(i), current))
    412417                return false;
    413418    }
     419#endif
    414420
    415421    return true;
    416422}