rofafor / vdr-plugin-iptv

IPTV plugin for the Video Disk Recorder (VDR)
http://www.saunalahti.fi/~rahrenbe/vdr/iptv/
GNU General Public License v2.0
6 stars 7 forks source link

IPTV plugin misdetects SID change when used as a client to a Dreambox #10

Open manfredhaertel opened 2 years ago

manfredhaertel commented 2 years ago

I am using VDR with the IPTV plugin as a client to my (DVB-S-)Dreambox. This worked out of the box but with one glitch: The EPG data was wrong on many channels. The reason for that is that a SID change is misdetected by the plugin: Feb 21 17:31:39 work vdr[55005]: [55012] changing id of channel 13 (BR Fernsehen Süd (Dreambox)) from 1-1101-28107-0 to 1-1101-28106-0 When I remove the line in device.c which attaches the filter implemented by cSidScanner, the problem is gone. To my understanding of the code in sidscanner.c, the problem is, that the Dreambox provides the original PAT from the satellite transponder, which references multiple SIDs (the SIDs of all channels broadcasted on this transponder). The IPTV plugin then seems to take the very first SID it sees and falsely detects a SID change. A very easy fix would be to implement some switch which makes the use of cSidScanner optional. A better fix would be to look for ALL SIDs provided by the PAT (and NIT) and see if the SID provided by channels.conf is among them and if it is, do not change it. The "most correct" but also most complex fix would be to verify which SID is correct, you could Add() the PMT PID of all provided SIDs to your filter and then look which PMT is really contained in the stream and take its SID.