From 9839bd0a94b664d02ecc9b5e1d235144714cf5f7 Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Mon, 31 May 2010 01:38:11 +0200 Subject: 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). --- libass/ass.c | 14 ++++++++++++++ libass/ass.h | 8 +++++++- 2 files changed, 21 insertions(+), 1 deletion(-) 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 diff --git a/libass/ass.h b/libass/ass.h index a16bad4..1d98298 100644 --- a/libass/ass.h +++ b/libass/ass.h @@ -25,7 +25,7 @@ #include #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 -- cgit v1.2.3