On 18.07.2012 12:27, Придворов Андрей (Pridvorov Andrey) wrote:
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).
I suggest to use SID, NID and TID to identify channels, not some fake "frequency".
Klaus