[FFmpeg-devel] [PATCH] doc/APIchanges: document the lavu/lavf field moves

Michael Niedermayer michael at niedermayer.cc
Thu Jun 30 22:39:20 CEST 2016


On Thu, Jun 30, 2016 at 04:43:21PM -0300, James Almer wrote:
> On 6/30/2016 4:30 PM, Michael Niedermayer wrote:
> > On Thu, Jun 30, 2016 at 04:21:03PM -0300, James Almer wrote:
> >> On 6/30/2016 1:53 PM, James Almer wrote:
> >>> On 6/30/2016 1:15 PM, Michael Niedermayer wrote:
> >>>> The text is copied from the lavfi case. Not sure this matches
> >>>> exactly private / public ABI wise, better text welcome!
> >>>>
> >>>> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> >>>> ---
> >>>>  doc/APIchanges |   16 ++++++++++++++++
> >>>>  1 file changed, 16 insertions(+)
> >>>>
> >>>> diff --git a/doc/APIchanges b/doc/APIchanges
> >>>> index 47106c2..fd649d6 100644
> >>>> --- a/doc/APIchanges
> >>>> +++ b/doc/APIchanges
> >>>> @@ -15,6 +15,22 @@ libavutil:     2015-08-28
> >>>>  
> >>>>  API changes, most recent first:
> >>>>  
> >>>> +2016-06-30 - c1c7e0ab - lavf 57.41.100 - avformat.h
> >>>> +  Fix accidental ABI breakage in AVFrame.
> >>>> +  ABI was broken in 6f69f7a8, lavf 57.32.100 and released as ffmpeg 3.1.
> >>>
> >>> AVStream, and again, there was *no* breakage in 3,1. A public field
> >>> was added above private fields.
> >>> The breakage is what we're now introducing in 3.1.1 to keep people
> >>> misusing the API happy.
> >>>
> >>> if we add a line here, it should mention how we're in breaking the
> >>> 3.1 ABI to make 3.1.1 compatible at runtime with API-violating
> >>> applications built against 3.0
> >>
> > 
> >> How about something like
> >>
> >> diff --git a/doc/APIchanges b/doc/APIchanges
> >> index 47106c2..c80606a 100644
> >> --- a/doc/APIchanges
> >> +++ b/doc/APIchanges
> >> @@ -15,6 +15,30 @@ libavutil:     2015-08-28
> >>
> >>  API changes, most recent first:
> >>
> >> +2016-06-30 - c1c7e0ab - lavf 57.41.100 - avformat.h
> >> +  Moved codecpar field from AVFilterContext to the end of the struct.
> >> +  This is an intentional ABI breakage as it's been informed to us that
> >> +  several downstream projects wrongly accessed fields marked as private
> >> +  which were below the newly added public field.
> > 
> > i think this is a confusing to someone who hasnt followed the
> > discussions, it sounds a bit like "we break ABI to break apps"
> > when the goal is to match (private) ABI toward the widly used 3.0
> > as many applications used it and would otherwise break
> 
> Saying we're "Fixing an accidental ABI breakage in AVStream/AVFrame" is
> dishonest and it makes us look bad implying we screwed up when what we're
> doing is working around downstream projects screwing up, and for the sake
> of distros.
> 
> In any case I'm not going to block this so if nobody comes up with a less
> confusing description then just push yours (after you fix the mixed up
> library versions for lavu and the struct name for lavf) when you're ready
> to release.
> 
> Thanks for working on this.

does the following sound ok to you ?
i kept this very terse as most changes in the file are tersly
documented only

commit 518b526aa310c963f42a76f48ce8fa1418dc0afe
Author: Michael Niedermayer <michael at niedermayer.cc>
Date:   Thu Jun 30 18:12:41 2016 +0200

    doc/APIchanges: document the lavu/lavf field moves

    Based-on: patch by James Almer
    Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

diff --git a/doc/APIchanges b/doc/APIchanges
index 47106c2..354b8b4 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,14 @@ libavutil:     2015-08-28

 API changes, most recent first:

+2016-06-30 - c1c7e0ab - lavf 57.41.100 - avformat.h
+  Moved codecpar field from AVStream to the end of the struct, so that
+  the following private fields are in the same location as in FFmpeg 3.0.
+
+2016-06-30 - 042fb69d - lavu 55.28.100 - frame.h
+  Moved hw_frames_ctx field from AVFrame to the end of the struct, so that
+  the following private fields are in the same location as in FFmpeg 3.0.
+
 2016-06-29 - xxxxxxx - lavfi 6.47.100 - avfilter.h
   Fix accidental ABI breakage in AVFilterContext.
   ABI was broken in 8688d3a, lavfi 6.42.100 and released as ffmpeg 3.1.



> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Avoid a single point of failure, be that a person or equipment.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160630/865463cb/attachment.sig>


More information about the ffmpeg-devel mailing list