X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fimaging%2Fcommon%2Fwebp-loading.cpp;h=f6e65b02afe186bc4bcd1b85bfdcd54f670495a3;hb=80759a22f22c5b6e82b16a456703840b6f7cc746;hp=cc4246ab6aa68fade8f86cb190c897e05912bc8d;hpb=7410006a864d66a1f4c7416eabdb669a00c3a4f9;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/imaging/common/webp-loading.cpp b/dali/internal/imaging/common/webp-loading.cpp index cc4246a..f6e65b0 100644 --- a/dali/internal/imaging/common/webp-loading.cpp +++ b/dali/internal/imaging/common/webp-loading.cpp @@ -38,6 +38,7 @@ #include #include #include +#include typedef unsigned char WebPByteType; @@ -65,7 +66,8 @@ struct WebPLoading::Impl { public: Impl( const std::string& url, bool isLocalResource ) - : mUrl( url ) + : mUrl( url ), + mMutex() { #ifdef DALI_WEBP_ENABLED if( ReadWebPInformation( isLocalResource ) ) @@ -180,6 +182,7 @@ public: std::string mUrl; std::vector mTimeStamp; uint32_t mLoadingFrame{0}; + Mutex mMutex; #ifdef DALI_WEBP_ENABLED WebPData mWebPData{0}; @@ -209,6 +212,7 @@ WebPLoading::~WebPLoading() bool WebPLoading::LoadNextNFrames( uint32_t frameStartIndex, int count, std::vector &pixelData ) { #ifdef DALI_WEBP_ENABLED + Mutex::ScopedLock lock( mImpl->mMutex ); if( frameStartIndex >= mImpl->mWebPAnimInfo.frame_count ) { return false; @@ -266,6 +270,7 @@ Dali::Devel::PixelBuffer WebPLoading::LoadFrame( uint32_t frameIndex ) { Dali::Devel::PixelBuffer pixelBuffer; #ifdef DALI_WEBP_ENABLED + Mutex::ScopedLock lock( mImpl->mMutex ); if( frameIndex >= mImpl->mWebPAnimInfo.frame_count ) { return pixelBuffer;