diff options
author | Grigori Goronzy <greg@blackbox> | 2009-06-29 04:17:24 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2009-06-29 04:27:43 +0200 |
commit | 1f176b7645318ec5d3f0e2dee81986b14eb8f1c2 (patch) | |
tree | e9bb3ea49400f22abb8531318552956edc3c6b09 /libass/ass_render.c | |
parent | 4aec4ab7b705535859d91fe0df562ec9679a7d40 (diff) | |
download | libass-1f176b7645318ec5d3f0e2dee81986b14eb8f1c2.tar.bz2 libass-1f176b7645318ec5d3f0e2dee81986b14eb8f1c2.tar.xz |
Handle conflicting \t time intervals
If end <= start for a time interval specification, set end to the end of
the event. VSFilter handles it like that, too.
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r-- | libass/ass_render.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index c779f3b1..86dfd3d5 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -1269,11 +1269,11 @@ static char *parse_tag(ass_renderer_t *render_priv, char *p, double pwr) } if (cnt == 3) { v1 = v[0]; - v2 = v[1]; + v2 = (v[1] <= v1) ? render_priv->state.event->Duration : v[1]; v3 = v[2]; } else if (cnt == 2) { v1 = v[0]; - v2 = v[1]; + v2 = (v[1] <= v1) ? render_priv->state.event->Duration : v[1]; v3 = 1.; } else if (cnt == 1) { v1 = 0; |