diff options
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r-- | libass/ass_render.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index 1da8b93dfc..da01caf119 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -839,10 +839,15 @@ static char* parse_tag(char* p, double pwr) { v2 = strtol(p, &p, 10); skip(')'); mp_msg(MSGT_ASS, MSGL_DBG2, "pos(%d, %d)\n", v1, v2); - render_context.evt_type = EVENT_POSITIONED; - render_context.detect_collisions = 0; - render_context.pos_x = v1; - render_context.pos_y = v2; + if (render_context.evt_type == EVENT_POSITIONED) { + mp_msg(MSGT_ASS, MSGL_V, "Subtitle has a new \\pos " + "after \\move or \\pos, ignoring\n"); + } else { + render_context.evt_type = EVENT_POSITIONED; + render_context.detect_collisions = 0; + render_context.pos_x = v1; + render_context.pos_y = v2; + } } else if (mystrcmp(&p, "fad")) { int a1, a2, a3; long long t1, t2, t3, t4; @@ -2021,7 +2026,7 @@ static int ass_render_event(ass_event_t* event, event_images_t* event_images) * \brief deallocate image list * \param img list pointer */ -void ass_free_images(ass_image_t* img) +static void ass_free_images(ass_image_t* img) { while (img) { ass_image_t* next = img->next; @@ -2329,7 +2334,7 @@ static void fix_collisions(event_images_t* imgs, int cnt) * \param i2 second image * \return 0 if identical, 1 if different positions, 2 if different content */ -int ass_image_compare(ass_image_t *i1, ass_image_t *i2) +static int ass_image_compare(ass_image_t *i1, ass_image_t *i2) { if (i1->w != i2->w) return 2; if (i1->h != i2->h) return 2; @@ -2347,7 +2352,7 @@ int ass_image_compare(ass_image_t *i1, ass_image_t *i2) * \param priv library handle * \return 0 if identical, 1 if different positions, 2 if different content */ -int ass_detect_change(ass_renderer_t *priv) +static int ass_detect_change(ass_renderer_t *priv) { ass_image_t* img, *img2; int diff; |