Hi.

Iptv plugin use “frequency” as unique enumeration for channels. In readme is a some limitations:

 

-Multiple channels with identical service id should have frequency

š difference of 4 or greater. It's recommended to use frequencies in decades

š (10, 20, 30, 40, ...) for all IPTV channel entries.

 

I try use iptv channel with this parameters:

ANIMAL PLANET;DSV:20170:S=1|P=1|F=UDP|U=239.2.0.17|A=2020:I:0:1101=2:1102=rus@4:0:652,634:1100:0:0:0

Ip address is 239.2.0.17 and I set frequency 20170.

 

Frequency = 20170, and “int cChannel::Transponder(void) const” function return 20, but not 20170.

In result, PAT changing pids on incorrect channel, because function

 

“cChannel *Channel = Channels.GetByServiceID(Source(), Transponder(), pmt.getServiceId())”

in

“void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length)”

works incorrect too.

 

I suggest to write a limitation for max frequency = 20000 in iptv readmy, or change int cChannel::Transponder(void) const, so it works correct with iptv plugin (and may be other plugins).