IImage* ImageFactory::CreateLoaderFromMimeType(const std::string& strMimeType) { BinaryAddonBaseList addonInfos; CServiceBroker::GetBinaryAddonManager().GetAddonInfos(addonInfos, true, ADDON_IMAGEDECODER); for (auto addonInfo : addonInfos) { std::vector<std::string> mime = StringUtils::Split(addonInfo->Type(ADDON_IMAGEDECODER)->GetValue("@mimetype").asString(), "|"); if (std::find(mime.begin(), mime.end(), strMimeType) != mime.end()) { CImageDecoder* result = new CImageDecoder(addonInfo); result->Create(strMimeType); return result; } } return new CFFmpegImage(strMimeType); }