Converter ServiceName2 Number and %n conversions fallback code ignores padding entries

Issue #433 new
prl created an issue

The ServiceName2 Number and %n format codes expect that their source will have a "serviceref" attribute, but fall back to searching bouquets to calculate the service number.

However, they use serviceHandler.list(bouquet)/servicelist.getNext() to count service entries in their bouquets, and that method ignores padding entries where sref->isHidden() is True (as in Terrestrial LCN TV).

This means that the channel numbering returned in these cases will not correspond to the normal channel numbering where the bouquets contain padding entries.

There doesn't seem to be any interface that will count service entries in the same way that eDVBDB::renumberBouquet() does.

Replication steps

Add the following to the ChannelSelection skin in either the easy-skin-aus-hd or the Full-Metal-Wizard skin, set MENU>Setup>TV>Channel selection>Alternative Numbering Mode to "off" (this hides another bug that complicates the issue) and restart the GUI.

        <widget source="ServiceEvent" render="Label" position="50,110" size="60,30" backgroundColor="black" font="Regular;18" foregroundColor="white" transparent="1">
            <convert type="ServiceName2">%n</convert>
        </widget>
        <widget source="ServiceEvent" render="Label" position="110,110" size="60,30" backgroundColor="black" font="Regular;18" foregroundColor="white" transparent="1">
            <convert type="ServiceName2">Number</convert>
        </widget>

Then press FAV and select the Terrestrial LCN TV bouquet as the current bouquet bu going to FAV, BLUE Favourites, OK.

Then press FAV again, then DOWN. Now, moving up and down in the bouquet will show the service numbers increasing by +/-1 for each step up or down, not the "LCN numbering that the padding is intended to give the bouquet.

Comments (0)

  1. Log in to comment