[FFmpeg-devel] ABI break between 3.0 and 3.3 without symvers/SONAME changes
Jan Engelhardt
jengelh at inai.de
Sat Jun 3 15:31:31 EEST 2017
On Saturday 2017-06-03 14:27, Timo Rothenpieler wrote:
>
>> could ffmpeg then ensure that the major is in fact bumped on major
>> releases? In distro context, a bump is easier to swallow than a
>> non-bump..
>
> It is made sure that the public ABI does not break between major
> releases, this the major version is not bumped. The problem in
> practice is that _a lot_ of downstream library users misuse the API,
> using non-public fields and what not, and still end up breaking, most
> commonly at ffmpeg major releases.
Would this be a feasible approach to inhibit users accessing private
fields?
avcodec.h:
struct AVcontext {
/* only public fields */
};
avcodec_internal.h:
struct AVcontext_full {
struct AVcontext base;
/* all the private fields */
};
void somefunc(AVcontext *a)
{
AVcontext_full *af = a;
...
}
More information about the ffmpeg-devel
mailing list