Channel merging logic appears to favour merging into the highest number channel.
This is a usability bug.
Currently channel merging operations seem to favour merging into, and thus retaining the highest channel number. (I think it isn't intentional, just an implicit result of the order operations are taken.) This isn't ideal, since for example, on BSkyB lineups it will result in "Channel Four" at channel number 104, being merged into a duplicate at channel number 974 and retaining this higher number. And at first glance it appears that "Channel Four" has disappeared from the lineup until you look up into the far higher numbers.
Can there be some logic added to prefer a merge into the lowest number, which is more likely to retain the intended EPG channel ordering.
After looking through the source, the bug is in channels.c
At the moment channel_get_number iterates through possible sources of a channel number, with a break when it finds one. Because of the order that bouquet entries are stored in, this means that the highest possible number for a channel is always returned.
Can this be fixed to return the lowest number from all linked services, rather than the first service present?
#3 Updated by Jaroslav Kysela 5 days ago
- Status changed from New to Fixed
- % Done changed from 0 to 100
Applied in changeset tvheadend|419b0a143c439b50f7d2d979945f5e8d2f6769d1.