+
+ int32_t timestamp;
+ uint8_t* frameBuffer = nullptr;
+ for(; mImpl->mLatestLoadedFrame < static_cast<int32_t>(frameIndex);)
+ {
+ WebPAnimDecoderGetNext(mImpl->mWebPAnimDecoder, &frameBuffer, ×tamp);
+ mImpl->mTimeStamp[++mImpl->mLatestLoadedFrame] = timestamp;
+ }
+
+ if(frameBuffer != nullptr)
+ {
+ const int bufferSize = mImpl->mWebPAnimInfo.canvas_width * mImpl->mWebPAnimInfo.canvas_height * sizeof(uint32_t);
+ pixelBuffer = Dali::Devel::PixelBuffer::New(mImpl->mWebPAnimInfo.canvas_width, mImpl->mWebPAnimInfo.canvas_height, Dali::Pixel::RGBA8888);
+ memcpy(pixelBuffer.GetBuffer(), frameBuffer, bufferSize);
+ }
+