- handling queries
Some implementation can probably be shared with GstBaseParse.
A key benefit would be more complete implementation for the GStreamer feature set. For an example right now mostly SEEK_SET works - the generic implementation might be able to add the support for other modes - no need to fix it in every single element.
Index handling should be more intelligent (at least as the implementation in avidemux). Seeking is not the primary usecase. Fast time-to-play is important. Thus if possible build the index on demand. In the case of avi, it currently parses the whole file and build an in memory index. This can easily generate a huge data structure (e.g. 50 mb). On the other hand avidemux can play streams where it parses index information while it plays. It would be good it it could also do this for non stream playback - start immediately and remember the index entries. If one seeks backwards, we have the index. If one seeks forward, parse until we have the position.