I'm writing some DVB software which I want to make as easy as possible
to set up for Freesat and Freeview. I'm having some trouble with
automatically allocating LCNs (channel numbers) appropriate for the
user's configured region.
What I do know (mostly by browsing the source of something called
deadpenguin) is that in Freesat's BAT on pid 3841 there are descriptors
with a tag of D4 which contain a mapping of region codes to region
names, and in D3 descriptors there's a mapping between service_id,
region and LCN. A region code of 65535/-1 means it applies to any
region.
The trouble is with BBC 1, BBC 2 and Channel 4 (and S4C). The BBC 2
channels all have a region code of 0 and the only way I can find to
allocate them is matching the country in the region name to the service
name suffix. Similarly for BBC 1, but only if the region is London
(region code 1) or not England - other English regions use the expected
codes.
Then there's Channel 4. Again, I think it's OK for most English regions
while London and non-England are a problem, compounded by them all
having the same service name. However, I have spotted a pattern. If I
look up the service with LCN 104 and region 65535 and no other region,
the only two results are what I'm told is the correct one for London
(service_id 9211) and S4C, easily distinguished by their service names.
Doing all this seems a bit of a bodge, is there some other information
in the SI that I've missed?
--
TH *
http://www.realh.co.uk