zapit/src/scansdt.cpp: keep 'new' channel flag over next scans

This commit is contained in:
[CST] Focus
2012-04-22 15:27:50 +04:00
parent 67c9e32bd2
commit 2941e2d0b1

View File

@@ -172,7 +172,7 @@ bool CSdt::Parse(t_transport_stream_id &tsid, t_original_network_id &onid)
ZapitChannelList satChannelList; ZapitChannelList satChannelList;
CServiceManager::getInstance()->GetAllTransponderChannels(satChannelList, tpid); CServiceManager::getInstance()->GetAllTransponderChannels(satChannelList, tpid);
for (zapit_list_it_t oldI = satChannelList.begin(); oldI != satChannelList.end(); ++oldI) for (zapit_list_it_t oldI = satChannelList.begin(); oldI != satChannelList.end(); ++oldI)
(*oldI)->flags = CZapitChannel::REMOVED; (*oldI)->flags |= CZapitChannel::REMOVED;
} }
#ifdef DEBUG_SDT #ifdef DEBUG_SDT
@@ -320,7 +320,8 @@ bool CSdt::ParseServiceDescriptor(ServiceDescription * service, ServiceDescripto
if (channel) { if (channel) {
channel->setName(serviceName); channel->setName(serviceName);
channel->setServiceType(real_type); channel->setServiceType(real_type);
channel->flags = CZapitChannel::UPDATED; channel->flags &= ~CZapitChannel::REMOVED;
channel->flags |= CZapitChannel::UPDATED;
} else { } else {
channel = new CZapitChannel(serviceName, channel_id, channel = new CZapitChannel(serviceName, channel_id,
real_type, satellitePosition, freq_id); real_type, satellitePosition, freq_id);