]> granicus.if.org Git - libass/commitdiff
Add API function to flush all events
authorGrigori Goronzy <greg@blackbox>
Sun, 30 May 2010 23:38:11 +0000 (01:38 +0200)
committerGrigori Goronzy <greg@blackbox>
Sun, 30 May 2010 23:54:54 +0000 (01:54 +0200)
Add a function to flush all events in a track and increment
LIBASS_VERSION to indicate the addition.
Initial patch by Aurelien Jacobs (aurel AT gnuage DOT org).

libass/ass.c
libass/ass.h

index 2efddcd2bb19e381df13bafd4ca74cf39a38aedd..d23d1015b48749435b574ad7f148fd6398744e88 100644 (file)
@@ -905,6 +905,20 @@ void ass_process_chunk(ASS_Track *track, char *data, int size,
     free(str);
 }
 
+/**
+ * \brief Flush buffered events.
+ * \param track track
+*/
+void ass_flush_events(ASS_Track *track)
+{
+    if (track->events) {
+        int eid;
+        for (eid = 0; eid < track->n_events; eid++)
+            ass_free_event(track, eid);
+        track->n_events = 0;
+    }
+}
+
 #ifdef CONFIG_ICONV
 /** \brief recode buffer to utf-8
  * constraint: codepage != 0
index a16bad49d2b68d0e718ab92bfefcb03599e04ce9..1d98298263f865794c47b6a08e5780e490146bd8 100644 (file)
@@ -25,7 +25,7 @@
 #include <stdarg.h>
 #include "ass_types.h"
 
-#define LIBASS_VERSION 0x00909000
+#define LIBASS_VERSION 0x00910000
 
 /*
  * A linked list of images produced by an ass renderer.
@@ -321,6 +321,12 @@ void ass_process_codec_private(ASS_Track *track, char *data, int size);
 void ass_process_chunk(ASS_Track *track, char *data, int size,
                        long long timecode, long long duration);
 
+/**
+ * \brief Flush buffered events.
+ * \param track track
+*/
+void ass_flush_events(ASS_Track *track);
+
 /**
  * \brief Read subtitles from file.
  * \param library library handle