On Sun, Feb 04, 2018 at 02:46:09PM +0100, Nicolas George wrote: > Muhammad Faiz (2018-02-04): > > What about av*iterate(int index)?
This makes no sense, it's then not an API for iteration of components. > > I like the idea of an index better than the other options evoked, > especially the linked-list-like APIs. It is also more similar to the > APIs for enumerated types. If we were to add in APIs which allowed you to register external components again, this idea wouldn't work well as indexes wouldn't necessarily correspond to the component which it previously did after you register extra components. The main benefit of the opaque pointers is the flexibility of how components are stored/represented internally, and being able to change/extend it with no API changes (only additions). Sure there is the question of 'how efficient is it?', but it's not really a relevant question considering how frequently the iteration functions are called (not much relative to other parts of the library where efficiency is more crucial). > Another option would be to return the whole list in a mallocated array, > in a single call. When has exposing more internals ever ended up going well? _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel