[FFmpeg-devel] [PATCH 1/2] libavfilter: Support the forks ABI for buffer sinks
Stefano Sabatini
stefasab at gmail.com
Sat Sep 1 01:02:57 CEST 2012
On date Saturday 2012-09-01 00:04:12 +0200, Michael Niedermayer encoded:
> On Fri, Aug 31, 2012 at 11:44:50PM +0200, Stefano Sabatini wrote:
> > On date Friday 2012-08-31 22:38:29 +0200, Michael Niedermayer encoded:
> > > With this change avconv compiled against libav and linked to ffmpegs libs
> > > will run through the whole fate testsuite without any crashes.
> > > 857 tests pass, the remaining tests fail one way or another, which is
> > > to be expected as avconv is not a drop in replacement for ffmpeg
> > > The testsuite used was the ffmpeg fate testsuite, not libavs.
> > >
> > > Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> > > ---
> > > libavfilter/allfilters.c | 6 ++++++
> > > libavfilter/buffersink.c | 8 ++++++++
> > > libavfilter/sink_buffer.c | 39 ++++++++++++++++++++++++++++++++++++---
> > > 3 files changed, 50 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
> > > index 9e68d4c..6842ec9 100644
> > > --- a/libavfilter/allfilters.c
> > > +++ b/libavfilter/allfilters.c
> > > @@ -64,8 +64,11 @@ void avfilter_register_all(void)
> > > REGISTER_FILTER (ANULLSRC, anullsrc, asrc);
> > > REGISTER_FILTER (FLITE, flite, asrc);
> > >
> >
> > > +#if !AV_HAVE_INCOMPATIBLE_FORK_ABI
> > > REGISTER_FILTER (ABUFFERSINK, abuffersink, asink);
> > > +#endif
> >
> > After musing a few minutes I have to conclude that I'm lost at
> > correctly interpreting this:
> > INCOMPATIBLE (FORK ABI) => support the fork ABI, which is incompatible
> > or
> > (INCOMPATIBLE FORK) ABI => support the ABI of the incompatible fork
> >
> > From my understanding abuffersink is compiled only if has not an
> > incompatible (i.e. has a compatible) fork ABI, otherwise only
> > ffabuffersink (ff* version) is compiled in.
>
> ffabuffersink is always available under the ffabuffersink name
>
> by default ffabuffersink is also available under the abuffersink name
> as this was what it was previously
>
> but if AV_HAVE_INCOMPATIBLE_FORK_ABI is set then instead the variant
> from libav is available under the abuffersink name.
Got it.
Anyway I still think that "INCOMPATIBLE_FORK_ABI" is confusing and
should be changed (incompatible with what?, which fork??). No need to
do this in this patch of course.
[...]
Looks good to me, thanks.
--
FFmpeg = Fundamentalist and Friendly Most Philosofic Ephemeral Geisha
More information about the ffmpeg-devel
mailing list