IceTV timers for Nine HD show incorrect or blank service name

Issue #439 resolved
prl created an issue

The IceTV plugin code in EPGFetcher.processTimers assumes that the ServiceType (third) field in a serviceref is always 1. For NineHD it is 0x19 and for RACING.COM it is 0x16.

This means that searches to derive the name of the service will either match the old serviceref for GEM if it is still in the bouquets from old scans, or will not match any serviceref, and show a blank name.

The critical ONID/TSID/SID data is correct, so the timers appear to record correctly.

The bug can probably be addressed cleanly by changing:

                        db = eDVBDB.getInstance()
                        for channel in channels:
                            serviceref = ServiceReference("1:0:1:%x:%x:%x:EEEE0000:0:0:0:" % (channel[2], channel[1], channel[0]))
                            if db.isValidService(channel[1], channel[0], channel[2]):

to

                        db = eDVBDB.getInstance()
                        for channel in channels:
                            serviceref = db.searchReference(channel[1], channel[0], channel[2])
                            if serviceref.valid():

in EPGFetcher.processTimers

Comments (4)

  1. Peter Urbanec

    Please feel free to test the proposed change and create a pull request once you are satisfied that it works well enough for public deployment.

  2. prl reporter

    I can do that, but I'm not actually able to test it against 9HD. The best I can do is to test that it doesn't break anything else.

  3. Peter Urbanec

    Fix bug #439: IceTV timers for Nine HD show incorrect or blank service name

    [Plugins.SystemPlugins.IceTV.plugin]

    Replace construction of a new or updated timer's serviceref with a fixed (and, for Nine HD, incorrect) service type to use eDVBDB::searchReference() to look up the matching serviceref from the timer's (onid, tsid, sid) triple.

    [eDVBDB]

    Expose eDVBDB::searchReference() in the SWIG API.

    → <<cset adb07bffe9b0>>

  4. Log in to comment