I think that the whole thing that you are asking here is "how do I tie the tracks in a top-level source package to the elements in an index table (as described by the delta array".
If so this is slightly tricky!
There is not a one-to-one relationship between the two items. There can be more or less elements indexed in an index table that tracks in the source package.
Some key facts about indexing:
* Timecode tracks are not held in the essence container, all the data is in the header metadata, so they will never get indexed.
* An index table may index each KLV fill in the essence container, but this is optional.
* A very basic index table just indexes the start of each edit unit, and it is up to you to locate each essence element in that edit unit.
* More complex index tables generally index each essence element such that you get the same number of indexed elements as there are essence tracks
* The order of tracks or track numbers is not related to the order in the index table - you have to read the first edit unit and work out which element relates to which track.
* You may find that something is indexed, but you can't identify it (because it is described by some dark metadata in the header) - in this case just ignore that element
* You may find that one or more essence tracks does not have an index element - if this is the case you just have to search for it - it is probably easiest to locate the start of the edit unit and scan all KLVs until you find the one you are wanting.
* Index tables are not easy