mirror of
https://github.com/mpv-player/mpv
synced 2025-02-16 20:27:23 +00:00
ass_mp: add mp_ass_flush_old_events()
This commit is contained in:
parent
5053f4cc3f
commit
1781bf26f1
14
sub/ass_mp.c
14
sub/ass_mp.c
@ -163,3 +163,17 @@ ASS_Library *mp_ass_init(struct mpv_global *global, struct mp_log *log)
|
||||
talloc_free(path);
|
||||
return priv;
|
||||
}
|
||||
|
||||
void mp_ass_flush_old_events(ASS_Track *track, long long ts)
|
||||
{
|
||||
int n = 0;
|
||||
for (; n < track->n_events; n++) {
|
||||
if ((track->events[n].Start + track->events[n].Duration) >= ts)
|
||||
break;
|
||||
ass_free_event(track, n);
|
||||
track->n_events--;
|
||||
}
|
||||
for (int i = 0; n > 0 && i < track->n_events; i++) {
|
||||
track->events[i] = track->events[i+n];
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ struct mpv_global;
|
||||
struct mp_osd_res;
|
||||
struct osd_style_opts;
|
||||
|
||||
void mp_ass_flush_old_events(ASS_Track *track, long long ts);
|
||||
void mp_ass_set_style(ASS_Style *style, double res_y,
|
||||
const struct osd_style_opts *opts);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user