[FFmpeg-devel] [PATCH] Revert redefinition of AVERROR_NUMEXPECTED and AVERROR_INVALIDDATA at the next major bump.

Stefano Sabatini stefano.sabatini-lala
Sat Jul 17 15:37:51 CEST 2010


On date Sunday 2010-04-04 04:05:23 +0200, Michael Niedermayer encoded:
> On Sun, Apr 04, 2010 at 12:20:43AM +0200, Stefano Sabatini wrote:
> > On date Saturday 2010-04-03 22:03:23 +0200, Michael Niedermayer encoded:
> > > On Sat, Apr 03, 2010 at 05:08:48PM +0200, Stefano Sabatini wrote:
> > [...]
> > > > Regression test passed (both with LIBAVUTIL_MAJOR_VERSION == 50 and ==
> > > > 51).
> > > 
> > > bumping it to 51 will changes the codes returned by all libs using libavutil
> > > all of them would need to bump major.
> > > i dont think this is reasonable, thus we should undo all error redefinitions
> > > before they become real and debian burns you at the stake
> > 
> > /* the jackasses changed the error codes, so I need to build a
> >  * backward compatibility layer */
> > #if LIBFOO_VERSION < NEXT && LIBAVUTIL_VERSION_MAJOR > 50
> > #define FOO_GET_AV_ERROR_CODE(err) (err == AVERROR_EOF         ? AVERROR(EPIPE ) : \
> >                                     err == AVERROR_NUMEXPECTED ? AVERROR(EDOM)   : \
> >                                     err == AVERROR_INVALIDDATA ? AVERROR(EINVAL) : err)
> > #else
> > #define FOO_GET_AV_ERROR_CODE(err) (err)
> > #endif
> > 
> > 
> > I'm not saying that's nice, but at least it is possible.
> 
> given the interresting cases ive seen with several shared libs and
> dependancies amongth them i doubt anyone will come up with a variant
> that works

I see the problem and I agree that the current solution is not
acceptable, check attached.

Anyway the current solution is definitively not fine as well, we have
two different error codes (AVERROR(EINVAL) and AVERROR_INVALIDDATA)
which cannot be distinguished.

So I propose to defer that, while this shouldn't be done immediately,
we should try to coordinate a major bump for all the libav* libraries,
let's call it The Big Bump.

Since we released few months ago, and we accumulated a good deal of
changes in each library, I suggest to start to plan for such a
coordinated bump.

Regards.



More information about the ffmpeg-devel mailing list