summaryrefslogtreecommitdiffstats
path: root/libass/ass.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-03-25 21:11:40 +0100
committerOleg Oshmyan <chortos@inbox.lv>2020-03-29 23:49:38 +0300
commit5d85de31689e970fd9fc135aa935d832a9156930 (patch)
tree397fb0d29af007448a82b6c6c34c29a8fff3aeac /libass/ass.c
parent3e088dc4e59714a7d150043e58de627d015b8051 (diff)
downloadlibass-5d85de31689e970fd9fc135aa935d832a9156930.tar.bz2
libass-5d85de31689e970fd9fc135aa935d832a9156930.tar.xz
api: add ass_track_set_feature()
Since C does not allow empty enums, there is an "example", which doesn't do anything. I think we might be able to make this change the default bidi direction or so. As if this commit, the flag set by it is also not available outside of ass.c, which should be solved by moving parser_priv to an internal header.
Diffstat (limited to 'libass/ass.c')
-rw-r--r--libass/ass.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libass/ass.c b/libass/ass.c
index 50b0df2..c47ea20 100644
--- a/libass/ass.c
+++ b/libass/ass.c
@@ -58,6 +58,8 @@ struct parser_priv {
uint32_t *read_order_bitmap;
int read_order_elems; // size in uint32_t units of read_order_bitmap
int check_readorder;
+
+ int enable_extensions;
};
#define ASS_STYLES_ALLOC 20
@@ -1327,6 +1329,17 @@ ASS_Track *ass_new_track(ASS_Library *library)
return track;
}
+int ass_track_set_feature(ASS_Track *track, ASS_Feature feature, int enable)
+{
+ switch (feature) {
+ case ASS_FEATURE_INCOMPATIBLE_EXTENSIONS:
+ track->parser_priv->enable_extensions = !!enable;
+ return 0;
+ default:
+ return -1;
+ }
+}
+
/**
* \brief Prepare track for rendering
*/