Fix 2 animatedImageVisual issues 19/249119/4
authorSeungho Baek <sbsh.baek@samsung.com>
Mon, 7 Dec 2020 08:10:34 +0000 (17:10 +0900)
committerSeungho Baek <sbsh.baek@samsung.com>
Mon, 14 Dec 2020 07:02:28 +0000 (16:02 +0900)
commit6ecc4c026c8e398c1a13cba2584c62092f4cf014
treef207b995dec4d6ce3172a5409c3ab6941fccb7a0
parentcea6f60f30c5a186b489e24fbbf3d5d53b2383d0
Fix 2 animatedImageVisual issues

 - 1. Make animate image visual do not caching in texture-manager
  - If 2 visual those have same image url and play without sync, it makes caching error.
 - 2. Make NextFrame methods.
  - Currently, the visual requests to load specific frame with index.
    But, if the system getting slow(like so many agif/webp in playing), the request and the loading can not be synchronized.
  - The visual will request next frame index with identical timing, but because the loading is slow, the loading frame will be throwed away and start next frame of the index.
  - This make bottle neck and also make stop to play.
  - This patch adds NextFrame that returns prepared next frame. If the next frame is in loading, this method is not to increase index and returns current rendered frame again.

Change-Id: Ia301ae654bcf8ee88167585bc4f4b1259a1e4e46
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
12 files changed:
automated-tests/src/dali-toolkit/utc-Dali-AnimatedImageVisual.cpp
dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp
dali-toolkit/internal/visuals/animated-image/animated-image-visual.h
dali-toolkit/internal/visuals/animated-image/fixed-image-cache.cpp
dali-toolkit/internal/visuals/animated-image/fixed-image-cache.h
dali-toolkit/internal/visuals/animated-image/image-cache.h
dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.cpp
dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.h
dali-toolkit/internal/visuals/animated-image/rolling-image-cache.cpp
dali-toolkit/internal/visuals/animated-image/rolling-image-cache.h
dali-toolkit/internal/visuals/texture-manager-impl.cpp
dali-toolkit/internal/visuals/texture-manager-impl.h