WebPAnimDecoderGetInfo(webPAnimDecoder, &webPAnimInfo);
width = webPAnimInfo.canvas_width;
height = webPAnimInfo.canvas_height;
- ReleaseResource(webPData, webPAnimDecoder);
return true;
}
}
bitmap = Dali::Devel::PixelBuffer::New(webPAnimInfo.canvas_width, webPAnimInfo.canvas_height, Dali::Pixel::RGBA8888);
const int32_t bufferSize = webPAnimInfo.canvas_width * webPAnimInfo.canvas_height * sizeof(uint32_t);
memcpy(bitmap.GetBuffer(), frameBuffer, bufferSize);
- ReleaseResource(webPData, webPAnimDecoder);
return true;
}
}
return false;
}
- void ReleaseResource()
+ // Moveable but not copyable
+
+ Impl(const Impl&) = delete;
+ Impl& operator=(const Impl&) = delete;
+ Impl(Impl&&) = default;
+ Impl& operator=(Impl&&) = default;
+
+ ~Impl()
{
#ifdef DALI_ANIMATED_WEBP_ENABLED
if(&mWebPData != NULL)
mWebPData.bytes = nullptr;
WebPDataInit(&mWebPData);
}
- if(mWebPAnimDecoder != nullptr)
+ if(mWebPAnimDecoder)
{
WebPAnimDecoderDelete(mWebPAnimDecoder);
- mWebPAnimDecoder = nullptr;
}
#endif
- if(mBuffer != NULL)
- {
- free((void*)mBuffer);
- mBuffer = nullptr;
- }
- }
-
- // Moveable but not copyable
-
- Impl(const Impl&) = delete;
- Impl& operator=(const Impl&) = delete;
- Impl(Impl&&) = default;
- Impl& operator=(Impl&&) = default;
-
- ~Impl()
- {
- ReleaseResource();
+ free((void*)mBuffer);
+ mBuffer = nullptr;
}
std::string mUrl;
const int32_t imageBufferSize = width * height * sizeof(uint8_t) * channelNumber;
memcpy(pixelBuffer.GetBuffer(), frameBuffer, imageBufferSize);
free((void*)frameBuffer);
+ return pixelBuffer;
}
- mImpl->ReleaseResource();
- return pixelBuffer;
}
#endif