Hi My issues. May be I not right, but....
1. Have: use section filtering - "yes", disable filters - 0. Have a iptv channel in channel.conf, but absent and not streaming now. Switch channels: work channnel -> absent channel -> work channel.
And vdr hangs, almost always....
If set use section filtering - "no", all works. If set use section filtering - "yes", disable filters - 1, PAT, all works too.
2. pat.c use Channels.GetByServiceID. Channels.GetByServiceID use ISTRANSPONDER().
#define ISTRANSPONDER(f1, f2) (abs((f1) - (f2)) < 4)
We must use frequencies differ > 4 in iptv channels. TV1;IPTV:1:IPTV|S1P0|UDP|127.0.0.1|1234:P:0:512:650:2321:0:1:0:0:0 - third parametr. Never use: TV1;IPTV:1:IPTV|S1P0.............. TV1;IPTV:2:IPTV|S1P0.............. TV1;IPTV:3:IPTV|S1P0.............. need use (example): TV1;IPTV:10:IPTV|S1P0.............. TV1;IPTV:20:IPTV|S1P0.............. TV1;IPTV:30:IPTV|S1P0..............
Otherwise ISTRANSPONDER() not works correct...
On Mon, 16 Mar 2009, ua0lnj wrote:
- Have: use section filtering - "yes", disable filters - 0.
Have a iptv channel in channel.conf, but absent and not streaming now. Switch channels: work channnel -> absent channel -> work channel. And vdr hangs, almost always....
Could you attach the gdb to the vdr process and check where does it hang exactly?
If set use section filtering - "no", all works. If set use section filtering - "yes", disable filters - 1, PAT, all works too.
So, it's somehow related to cPatFilter. As the pid updating works nicely on my setup, this might be related to video stream data itself...
- pat.c use Channels.GetByServiceID.
Channels.GetByServiceID use ISTRANSPONDER(). #define ISTRANSPONDER(f1, f2) (abs((f1) - (f2)) < 4) We must use frequencies differ > 4 in iptv channels. TV1;IPTV:1:IPTV|S1P0|UDP|127.0.0.1|1234:P:0:512:650:2321:0:1:0:0:0 - third parametr. Never use: TV1;IPTV:1:IPTV|S1P0.............. need use (example): TV1;IPTV:10:IPTV|S1P0.............. Otherwise ISTRANSPONDER() not works correct...
Did I understood you correctly: if you're setting the channel frequency to 10 instead of 1, your VDR won't hang anymore with section filtering (including PAT) enabled?
Why would "(abs(1-1)<4)" be different than "abs(10-10)<4"? Anyway, you could trace the values given to ISTRANSPONDER() macro and see if that gives any hint about the problem.
PS. You can also send bug reports and questions directly to me without polluting the mailing list.
BR, -- rofa