[FFmpeg-devel] ABI (in)stability of FFmpeg
Michael Niedermayer
michaelni at gmx.at
Mon Jul 28 04:23:33 CEST 2014
On Sun, Jul 27, 2014 at 10:18:16PM +0200, Andreas Cadhalpun wrote:
> Hi,
>
> the commit message of 6e8e9f1e517ee52fe439f3e8ca762f09d235f21e reads:
> "Merge commit '8c02adc62d71dfbb079a04753d8c16152c49de88'
>
> * commit '8c02adc62d71dfbb079a04753d8c16152c49de88':
> lavu: add all color-related enums to AVFrame
>
> Conflicts:
> libavcodec/avcodec.h
> libavutil/frame.c
> libavutil/frame.h
> libavutil/version.h
>
> The version check is changed so they are available with the current ABI
> FFmpeg libs should have no problems with added fields, nor should any
> application using the libs, and we regularly added fields in the past.
> We also moved 2 of these fields to AVFrame already previously
> without issues."
>
> This seems to be wrong, at least vlc has a problem with this.
> If you compile it against 2.2 and then install a version of FFmpeg
> containing this commit, without recompiling vlc against it, the
> following crash can be observed:
:(
i see:
2a072be:modules/codec/avcodec/audio.c: AVFrame frame;
2a072be:modules/codec/avcodec/audio.c- memset( &frame, 0, sizeof( frame ) );
That looks like there is code that depends on sizeof(AVFrame) in vlc
2.1.4, that is upstream vlc, i didnt check if this is also in debian
both ffmpeg since 1.1 and libav since v9 contain this:
"* sizeof(AVFrame) is not a part of the public ABI, so new fields may be added"
also there where fields added to AVFrame between each release since
at least FFmpeg 2.0
[...]
> So I suggest to revert to the old ABI until the next soversion bump.
This would be possible, i will send a patch for discussion
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The worst form of inequality is to try to make unequal things equal.
-- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140728/49f7102d/attachment.asc>
More information about the ffmpeg-devel
mailing list