Anssi Hannula wrote: > NIT handling was changed in 1.4.3-4 by adding an additional check if > we're actually receiving this transponder. See the current code: > >> for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { >> if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { >> if (Setup.UpdateChannels >= 5) { >> if (ISTRANSPONDER(Frequency / 1000, Transponder())) { // only modify channels if we're actually receiving this transponder > > The above check was added. However, the variable 'Frequency' may not > always be the current transponder frequency. The current transponder > could also be in the Frequencies[] array. This causes the channel update > to be always disabled. > > Below we search the array if the transponder of the 'Channel' is there: > >> if (!ISTRANSPONDER(Frequency / 1000, Channel->Transponder())) { >> for (int n = 0; n < NumFrequencies; n++) { >> if (ISTRANSPONDER(Frequencies[n] / 1000, Channel->Transponder())) { >> Frequency = Frequencies[n]; >> break; >> } >> } >> } > > Maybe the new check should be moved here, so that it uses the new > correct 'Frequency' that was found from Frequencies[] in the loop above? > >> Channel->SetCableTransponderData(Source, Frequency, Modulation, SymbolRate, CodeRate); >> } >> } >> found = true; >> } >> } Can you please provide a (tested) patch? Klaus