[FFmpeg-devel] [RFC] The Big Bump checklist

Stefano Sabatini stefano.sabatini-lala
Tue Feb 22 11:04:20 CET 2011


On date Tuesday 2011-02-22 10:20:35 +0100, Anton Khirnov encoded:
> Hi,
> what remains to be done until we can do the big bump?
> 
> A preliminary list is:
> 
> * all public symbols must be properly av* prefixed
>     - lavf: avformat.h is almost done, what remains are some ffm_*
>       ffserver hacks. What to do with them? If it doesn't make sense for
>       them to be public API and ffserver absolutely needs them, then it
>       might be better for ffserver to just #include "internal.h" than to
>       keep such things in a public header.
>             avio.h cleanup in progress
> 
>     - lavfi is probably fine (Stefano, can you comment?)

Yes in the sense that there are no misnamed symbols, as for API
stability there is still some change pending (but this shouldn't be a
blocker).

>     - lavc/lavu - volunteers welcome
>     - sws?
> * remove interlib ff_* dependencies (Flameeyes, could you please send an
>   updated list?)
> * deprecate codec-specific options in AVCodecContext in favor of
>   corresponding private AVOptions -- volunteers?
> * repaint libavutil in black with purple stripes

> * anything else?

The error code issues, check libavutil/error.h, AVERROR(EINVAL) ==
AVERROR_INVALIDDATA, currently application code can't distinguish
between the two errors.
Fixing this and bumping may cause problem for the depending non-lav*
libraries, but I suppose we may fix this by stating:

@note: External libraries MUST NOT use AVERROR* codes in external
interfaces, that is you must avoid to use AVERROR* codes as returning
values for external library functions, as the AVERROR* codes may
change depending on major version. Map them to an internal error code
instead.

This looks to me a safe assumption, for example we don't have
functions which return the error code of the external libraries, we
always map them to AVERROR* codes.

...

As for the *when*, I suppose the best timing is *just after* release
for minimizing the impact on users.
-- 
FFmpeg = Friendly and Fundamentalist Mind-dumbing Patchable Entertaining Gymnast



More information about the ffmpeg-devel mailing list