It is possible that the data referenced by an index is not a packet collected from the network, but is a reference to an element of another index. That is, a level of indirection is allowed. Once index references are available it is possible to build arbitrary structures of indexes, including hierarchies and networks of inter-connected indexed material.
There are two components that constitute an index reference. First, the name of index being referenced, and second, an offset into that index. The offset is the number of index elements from the start of the referenced index. Using this name-offset pair as the data new indexes can be built that reference other indexes.
For example, one way want an index that only has entries when there are intra-frames in a piece of video so that playback of video only happens when there is a whole screenful of data. As intra-frames only occur occasionally, a smaller index can be built that references the original index elements which point to the intra-frame packets. In figure 9.12 the two indexes are shown. The index index0 is the original primary index for the video media, and index1 is the index with the index references. index1 only has 3 elements as there are only 3 packets with intra-frames in the original data.
In the new index the value for the milliseconds since start field is application specific and may be a copy of the time from the index element being referenced, or it may be set to some other value. However, the annotations field will not be copied as they are specific to the original index. The new index can have its own, independent annotations. It is the responsibility of a player to determine the cause and effect of these values.
Next: Lists of Index References Up: Indexing Techniques Previous: Using Indexes For Analysis Jon CROWCROFT