]> granicus.if.org Git - libass/commitdiff
Fix change detection in a rare case
authorGrigori Goronzy <greg@blackbox>
Mon, 1 Oct 2012 17:33:36 +0000 (19:33 +0200)
committerGrigori Goronzy <greg@blackbox>
Mon, 1 Oct 2012 17:33:36 +0000 (19:33 +0200)
If an empty track is passed to ass_render_frame, always set the
change detection value to 2 (content and positions changed). This is
acceptable in both the case that the previous call resulted in images
(obviously) and in the case that the previous call resulted in no
images (in that case the change detection result doesn't actually
matter).

libass/ass_render.c

index b11c68174337a4483b20916c73f57d28544361bb..980dac350efc6024454b53201442db863a149d0b 100644 (file)
@@ -2525,8 +2525,12 @@ ASS_Image *ass_render_frame(ASS_Renderer *priv, ASS_Track *track,
 
     // init frame
     rc = ass_start_frame(priv, track, now);
-    if (rc != 0)
+    if (rc != 0) {
+        if (detect_change) {
+            *detect_change = 2;
+        }
         return 0;
+    }
 
     // render events separately
     cnt = 0;