diff options
author | wm4 <wm4@nowhere> | 2012-09-30 00:45:59 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2012-10-01 15:41:33 +0200 |
commit | 20f83b10241aa9c67c3a7e0c1a7e4d986fe199f1 (patch) | |
tree | 654b9357a13e7b6959f5f9483af15e6c9dd66620 /libass/ass_render.h | |
parent | 0594b9fcb5952448dee7eaa3646f7b1281ae8f80 (diff) | |
download | libass-20f83b10241aa9c67c3a7e0c1a7e4d986fe199f1.tar.bz2 libass-20f83b10241aa9c67c3a7e0c1a7e4d986fe199f1.tar.xz |
Fix change detection when cache is cleared
check_cache_limits() clears the image list. If all subtitles disappear
right in the frame the cache has been cleared, ass_detect_change() will
see two empty image lists (old - not empty, but cleared, new - empty),
and signal to the application that there was no change. As result,
media players which rely on the change detection will keep displaying
the last subtitle until the next subtitle event.
This bug was found by uau and has been reported on IRC in February.
Diffstat (limited to 'libass/ass_render.h')
-rw-r--r-- | libass/ass_render.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libass/ass_render.h b/libass/ass_render.h index d0d9aa38..45d19bbd 100644 --- a/libass/ass_render.h +++ b/libass/ass_render.h @@ -253,6 +253,7 @@ struct ass_renderer { ASS_Image *images_root; // rendering result is stored here ASS_Image *prev_images_root; + int cache_cleared; EventImages *eimg; // temporary buffer for sorting rendered events int eimg_size; // allocated buffer size |