Ticket #1485: siparser-other-frequency-handling.diff

File siparser-other-frequency-handling.diff, 1.5 KB (added by Stuart Auchterlonie, 15 years ago)

correct other frequency handling - siparser

  • libs/libmythtv/siparser.cpp

    old new  
    659659            tobj.CodeRateLP       = tdsd.CodeRateLPString();
    660660            tobj.GuardInterval    = tdsd.GuardIntervalString();
    661661            tobj.TransmissionMode = tdsd.TransmissionModeString();
     662            if (tdsd.OtherFrequencyInUse() &&
     663                (DescriptorID::frequency_list == dlist[i+1][0]))
     664            {
     665                VERBOSE(VB_SIPARSER, LOC + "Found OtherFrequency Descriptor");
     666                FrequencyListDescriptor fld(dlist[i+1]);
     667                for (uint flc = 0; flc < fld.FrequencyCount(); flc++)
     668                    tobj.frequencies.push_back(fld.FrequencyHz(flc));
     669            }
    662670        }
    663671        else if (DescriptorID::satellite_delivery_system == dlist[i][0])
    664672        {
     
    671679            tobj.SymbolRate       = sdsd.SymbolRateHz();
    672680            tobj.FEC_Inner        = sdsd.FECInnerString();
    673681        }
    674         else if (DescriptorID::frequency_list == dlist[i][0])
    675         {
    676             FrequencyListDescriptor fld(dlist[i]);
    677             for (uint i = 0; i < fld.FrequencyCount(); i++)
    678                 tobj.frequencies.push_back(fld.FrequencyHz(i));
    679         }
    680682        else if (DescriptorID::dvb_uk_channel_list == dlist[i][0])
    681683        {
    682684            UKChannelListDescriptor ucld(dlist[i]);