Quoting Hendrik Leppkes (2016-02-26 10:53:24)
> On Thu, Feb 25, 2016 at 4:05 PM, Anton Khirnov <[email protected]> wrote:
> > Deprecate the current bitstream filtering API.
> > +/**
> > + * Iterate over all registered bitstream filters.
> > + *
> > + * @param opaque a pointer where libavcodec will store the iteration 
> > state. Must
> > + *               point to NULL to start the iteration.
> > + *
> > + * @return the next registered bitstream filter or NULL when the iteration 
> > is
> > + *         finished
> > + */
> > +const AVBitStreamFilter *av_bsf_next(void **opaque);
> 
> Other iteration functions we have just take the return from the
> previous call as a "state" (ie. the previous BSF in this case), that
> seems much more sensible than some weird ptr-ptr-opaque value.
> Keeping it in line with existing API would be a big bonus (ie. just
> like av_bitstream_filter_next worked).
> 

The problem is that unlike the other APIs, the bsfs are stored in an
array instead of a linked list (to avoid global registration). So an API
like you want would have quadratic complexity instead of linear. It's
probably not a big deal, since we're unlikely to have hundreds of bsfs,
but it feels ugly.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to