[FFmpeg-devel] [PATCH] restoring binary compatibility with ffmpeg 0.5

Michael Niedermayer michaelni
Wed Jun 9 03:08:29 CEST 2010


On Mon, Jun 07, 2010 at 01:11:41PM +0200, Reinhard Tartler wrote:
> On Mo, Jun 07, 2010 at 12:52:14 (CEST), Michael Niedermayer wrote:
> 
> > On Mon, Jun 07, 2010 at 09:42:42AM +0200, Reinhard Tartler wrote:
> >> On Mo, Jun 07, 2010 at 08:02:54 (CEST), Reimar D?ffinger wrote:
> >> 
> >> > On Mon, Jun 07, 2010 at 07:52:11AM +0200, Reinhard Tartler wrote:
> >> >> void av_init_packet(AVPacket *pkt) av_weak_alias(av_init_packet);
> >> >> void av_init_packet(AVPacket *pkt)
> >> >> {
> >> >>     av_log(NULL, AV_LOG_WARNING, "diverting av_*_packet function calls to libavcodec. Recompile to improve performance\n");
> >> >>     av_init_packet(pkt);
> >> >
> >> > ff_internal_init_packet() and add one such to lavc.
> >> > Either way, we should make sure we have a solution the next time.
> >> > Since the @LIBAVFORMAT version is not accepted in lavc, does that
> >> > mean no matter what we do, we will always break ABI if we move code?!
> >> 
> >> if I understand you correctly, you not only consider ABI breakages
> >> between releases, but also between any svn revision? 
> >
> > i do
> 
> OK. I agree that we should unneccessarily do such breakages, not even in
> trunk nor elsewhere.
> 
> >
> >> Then I fear yes.
> >> However, the break is already there since quite some time, and fixing it
> >> to have it compatible to ffmpeg 0.5 has (or at least should have)
> >> priority, IMO.
> >
> > for future moves, is there a problem with moving the symbols and
> > updating the version script in the new home so it matches the version
> > of the old (@LIBAVFORMAT in lavc for the specific symbols)
> > ?
> 
> We could, but this wouldn't help. As you already noticed, ld-linux.so
> obviously really expects the versioned symbol to be in libavformat:

another try
assume
foobar at libavformat1 in libavformat

to move:
add foobar at libavformat1 in libavcodec
mark foobar at libavformat1 in libavformat as weak symbol
and put the whole foobar in libavformat under #if

does this work?
i think it should, ld.so favors globals over weak

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When the tyrant has disposed of foreign enemies by conquest or treaty, and
there is nothing more to fear from them, then he is always stirring up
some war or other, in order that the people may require a leader. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100609/1ef27272/attachment.pgp>



More information about the ffmpeg-devel mailing list