PruneEPG.tap

The buffer used by the Toppy is too small to accommodate the EPG data for all channels currently broadcast on the Freeview platform. This adversely affects the Toppy because, when the buffer is full, new entries are discarded leading to "holes" (gaps) in the Electronic Programme Guide (EPG)

The PruneEPG tap eliminates these holes by removing entries for channels that are not present in the channel lineup.

This is discussed in MyStuff ~ Reducing "No Information" Holes in MS EPG (although this is a MyStuff thread, this tap is applicable to all users)



Features

    ·    Install and forget (just put in the Auto Start folder; load position not important).
    ·    Small memory footprint (64 KB).
    ·    Minimal CPU overhead (about 20 ms every two minutes - should also reduce other eit processing overhead).
    ·    Can be stopped using the TapCommander and/or "TopManager|PcControl| TapCommander".
    ·    Automatically re-configures after scanning or channel deletion i.e. no need to stop/restart.
    ·    Should not interfere with other taps e.g. EPG2MEI.
    ·    Applicable for all users i.e. not solely for MyStuff users.
    ·    Does not require any change to existing advice about deleting unwanted channels.
    ·    Will continue to work when new channels are added by the broadcasters.

How does it work?

When the tap starts, it:-
    ·    finds specific locations in the firmware.
    ·    remembers the Service Ids for all configured channels.
    ·    hooks the fw_process_eit routine in the firmware (this allows the tap to intercept new entries).

As new eit entries arrive, the tap discards any whose Service Id doesn't correspond to a configured channel.
Note: Checking is extremely quick - it involves testing whether a bit is set in an array (rather than looping through a list of
valid Service Ids)
This mechanism eliminates most unwanted packets at source; it also eliminates the CPU overhead that would have previously been involved in the processing of these unwanted packets.

Periodically (currently 2 minutes), the tap rebuilds (if necessary) the list of configured channels and deletes any existing entries that don't match a configured channel. A summary line is output to the Serial Port.
Note: As deletion of entries is "slow", the tap keeps the Toppy responsive by only deleting a few entries at a time.
This mechanism primarily deletes any unwanted entries that existed prior to the tap starting but may also remove others that exist following a change to the channel lineup.