[FFmpeg-devel] [PATCH 0/3] Correct (non-public) ABI breakage since 3.0

Timo Rothenpieler timo at rothenpieler.org
Wed Jun 29 11:58:00 CEST 2016


The field in AVFilterLink is private, but a lot of applications, ffplay
included, still accessed some of them.

So this series first fixes ffplay, and then moves the new fields in
AVFilterLink and AVFilterContext to the end of their structs.

For AVFilterLink this should be unproblematic, as it's private API.
It only makes it so that updating to a future 3.1.1 with these fixes included
does not break applications linked against 3.0.

The field in AVFilterContext is a bit more problematic. It is not marked as
private, and should never have been added in the middle of the struct in the
first place.
Moving it now _will_ break ffmpeg/ffplay from 3.1.0 linked against the updated
libraries.
Nothing external seems to be accessing the fields after the hw_device_ctx, so
it's more then questionable if it should be moved.



Timo Rothenpieler (3):
  ffplay: Fix usage of private lavfi API
  lavfi: Move new field to the end of AVFilterLink
  lavfi: Move new field to the end of AVFilterContext

 ffplay.c               |  2 +-
 libavfilter/avfilter.h | 26 +++++++++++++-------------
 2 files changed, 14 insertions(+), 14 deletions(-)

-- 
2.9.0



More information about the ffmpeg-devel mailing list