diff options
author | Grigori Goronzy <greg@blackbox> | 2010-05-31 01:38:11 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2010-05-31 01:54:54 +0200 |
commit | 9839bd0a94b664d02ecc9b5e1d235144714cf5f7 (patch) | |
tree | a3dab408c225073ffd46c47e5be40f0d6a9e5b0f /libass | |
parent | a6fe61a3990afec7bed1d7e781020f1cbff9d5b5 (diff) | |
download | libass-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')
-rw-r--r-- | libass/ass.c | 14 | ||||
-rw-r--r-- | libass/ass.h | 8 |
2 files changed, 21 insertions, 1 deletions
diff --git a/libass/ass.c b/libass/ass.c index 2efddcd2..d23d1015 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 a16bad49..1d982982 100644 --- a/libass/ass.h +++ b/libass/ass.h @@ -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. @@ -322,6 +322,12 @@ 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 * \param fname file name |