From 3e088dc4e59714a7d150043e58de627d015b8051 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 19 Mar 2020 12:58:23 +0100 Subject: API: clarify how new fields can be added to public types This just gives a minor hint that all fields are frozen, but that the size of the structs are not part of the ABI. Most importantly, ASS_Style and ASS_Event are completely ABI-frozen, because ASS_Track has the "styles" and "events" arrays. --- libass/ass.h | 2 ++ libass/ass_types.h | 3 +++ 2 files changed, 5 insertions(+) (limited to 'libass') diff --git a/libass/ass.h b/libass/ass.h index cad25ae..78951a9 100644 --- a/libass/ass.h +++ b/libass/ass.h @@ -56,6 +56,7 @@ typedef struct ass_image { IMAGE_TYPE_SHADOW } type; + // New fields can be added here in new ABI-compatible library releases. } ASS_Image; /* @@ -170,6 +171,7 @@ typedef enum { * On dialogue events override: Justify */ ASS_OVERRIDE_BIT_JUSTIFY = 1 << 10, + // New enum values can be added here in new ABI-compatible library releases. } ASS_OverrideBits; /** diff --git a/libass/ass_types.h b/libass/ass_types.h index 88951a7..caa90aa 100644 --- a/libass/ass_types.h +++ b/libass/ass_types.h @@ -166,6 +166,7 @@ typedef enum ASS_YCbCrMatrix { YCBCR_SMPTE240M_PC, YCBCR_FCC_TV, YCBCR_FCC_PC + // New enum values can be added here in new ABI-compatible library releases. } ASS_YCbCrMatrix; /* @@ -205,6 +206,8 @@ typedef struct ass_track { ASS_Library *library; ASS_ParserPriv *parser_priv; + + // New fields can be added here in new ABI-compatible library releases. } ASS_Track; #endif /* LIBASS_TYPES_H */ -- cgit v1.2.3