On 25.02.2018 15:26, Patrick Boettcher wrote:
Hi list, since some time (1-2 years) I noticed that the DVB-T channels do not show EPG anymore. I'm not sure what is the root-cause: either it was the migration of French DVB-T to HD (in 2016) or an update of VDR. Anyway, this morning I took the time to figure out what is wrong and here is what I found. In short, the channel-ID generated from the one received in the EIT does not correspond to a known channel-ID from the channel list, and VDR drops the whole section: In cEIT::cEIT (from eit.c) we see tChannelID channelID(Source, getOriginalNetworkId(), getTransportStreamId(), getServiceId()); cChannel *Channel = Channels->GetByChannelID(channelID, true); and channel is NULL in my case. I added some debug prints to GetByChannelID() in the search loop: printf("sid: %d == %d, %s, %s %d\n", Channel->Sid(), sid, (const char *)ChannelID.ToString(), (const char *)Channel->GetChannelID().ToString(), Channel->GetChannelID() == ChannelID); And here is an example of what I get: sid: 517 == 517, T-8442-2-517, T-0-506-517 0 The internal channel ID of vdr reads T-0-506-517. 517 is the SID, 506 is the radio-channel frequency in MHz. This is the right internal channel for this EIT-section. The EIT-channel-ID is telling me that 8442 is the original network ID and 2 might be the radio-channel ID. I tweaked the operator==() of ChannelID to make it work, but not in a contributable manner. How should this be fixed correctly? Is this a regression introduced somewhere? Can it be solved by configuration?
Hello Patrick, where did the channel with ID T-0-506-517 come from in the first place? What happens if you delete that channel from VDR's channel list and tune to the transponder? Does it create the channel with the correct ID? Klaus _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx https://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr