[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