void CreateThumbnailCallback(media_content_error_e err, const char* path, void* user_data) {
LoggerD("Enter");
+ unsigned int* callbackId = (unsigned int*) user_data;
+
if (!(ContentManager::getInstance()->getContentInstance())) {
// There is not instance already
LoggerD("There is not instance now");
+ delete callbackId;
return;
}
- unsigned int callbackId = (unsigned int) user_data;
picojson::object out;
- out["callbackId"] = picojson::value(static_cast<double>(callbackId));
+ out["callbackId"] = picojson::value(static_cast<double>(*callbackId));
if (MEDIA_CONTENT_ERROR_NONE == err) {
out["result"] = picojson::value(std::string(path));
PlatformResult result = ContentManager::getInstance()->convertError(err);
LogAndReportError(result, &out, ("Failed to create a thumbnail"));
}
+
+ delete callbackId;
common::Instance::PostMessage(ContentManager::getInstance()->getContentInstance(),
picojson::value(out).serialize().c_str());
}
common::PlatformResult ContentManager::createThumbnail(const picojson::value& args) {
LoggerD("Enter");
- unsigned int callbackId = static_cast<unsigned int>(args.get("callbackId").get<double>());
+ unsigned int* callbackId = new unsigned int(static_cast<unsigned int>(args.get("callbackId").get<double>()));
std::string id = args.get("id").get<std::string>();
media_info_h media = NULL;
int ret = media_info_get_media_from_db(id.c_str(), &media);
if(MEDIA_CONTENT_ERROR_NONE != ret && nullptr == media) {
+ delete callbackId;
return LogAndCreateResult(ErrorCode::ABORT_ERR, "Getting media is failed.",
("Getting media is failed: %d (%s)", ret, get_error_message(ret)));
}
- ret = media_info_create_thumbnail(media, CreateThumbnailCallback, (void*) callbackId);
+ ret = media_info_create_thumbnail(media, CreateThumbnailCallback, /* (void*) callbackId */ nullptr);
media_info_destroy(media);
if(MEDIA_CONTENT_ERROR_NONE != ret) {
+ delete callbackId;
return LogAndCreateResult(ErrorCode::ABORT_ERR, "Creating thumbnail failed.",
("Creating thumbnail failed: %d (%s)", ret, get_error_message(ret)));
}
+ delete callbackId;
+
return PlatformResult(ErrorCode::NO_ERROR);
}