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 <mich...@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.
+
+  Because of this, said applications built against lavf <= 57.32.100
+  experienced problems when trying to use lavf >= 57.33.100 at runtime.
+
+  The availability of private fields in public structs will be limited
+  or removed in future releases to prevent unfortunate misuses like this.
+
+2016-06-30 - 042fb69d - lavu 55.28.100 - frame.h
+  Moved hw_frames_ctx field from AVFrame 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.
+
+  Because of this, said applications built against lavu <= 55.17.100
+  experienced problems when trying to use lavu >= 55.18.100 at runtime.
+
+  The availability of private fields in public structs will be limited
+  or removed in future releases to prevent unfortunate misuses like this.
+
 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.


Comments about how to improve it are welcome.

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

Reply via email to