summaryrefslogtreecommitdiffstats
path: root/libass/ass.c
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2010-05-31 01:38:11 +0200
committerGrigori Goronzy <greg@blackbox>2010-05-31 01:54:54 +0200
commit9839bd0a94b664d02ecc9b5e1d235144714cf5f7 (patch)
treea3dab408c225073ffd46c47e5be40f0d6a9e5b0f /libass/ass.c
parenta6fe61a3990afec7bed1d7e781020f1cbff9d5b5 (diff)
downloadlibass-9839bd0a94b664d02ecc9b5e1d235144714cf5f7.tar.bz2
libass-9839bd0a94b664d02ecc9b5e1d235144714cf5f7.tar.xz
Add API function to flush all events
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).
Diffstat (limited to 'libass/ass.c')
-rw-r--r--libass/ass.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/libass/ass.c b/libass/ass.c
index 2efddcd..d23d101 100644
--- a/libass/ass.c
+++ b/libass/ass.c
@@ -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